diff --git a/README.md b/README.md index 3397adab94bc763783be5eb6053f8da797e8e9d2..64a7894ffbd5fdc08a97c176fde1935bc4fbe2ae 100644 --- a/README.md +++ b/README.md @@ -14,128 +14,127 @@ ## 在线阅读 -在线阅读:http://python.iswbm.com +在线阅读:https://python.iswbm.com ## Contents ![](http://image.iswbm.com/image-20201223231728222.png) - - - **第一章:安装运行** - * [1.1 【环境】快速安装 Python 解释器](http://python.iswbm.com/en/latest/c01/c01_01.html) - * [1.2 【环境】Python 开发环境的搭建](http://python.iswbm.com/en/latest/c01/c01_02.html) - * [1.3 【基础】两种运行 Python 程序方法](http://python.iswbm.com/en/latest/c01/c01_03.html) + * [1.1 【环境】快速安装 Python 解释器](https://pycharm.iswbm.com/c01/c01_01.html) + * [1.2 【环境】Python 开发环境的搭建](https://pycharm.iswbm.com/c01/c01_02.html) + * [1.3 【基础】两种运行 Python 程序方法](https://pycharm.iswbm.com/c01/c01_03.html) - **第二章:数据类型** - * [2.1 【基础】常量与变量](http://python.iswbm.com/en/latest/c02/c02_01.html) - * [2.2 【基础】字符串类型](http://python.iswbm.com/en/latest/c02/c02_02.html) - * [2.3 【基础】整数与浮点数](http://python.iswbm.com/en/latest/c02/c02_03.html) - * [2.4 【基础】布尔值:真与假](http://python.iswbm.com/en/latest/c02/c02_04.html) - * [2.5 【基础】学会输入与输出](http://python.iswbm.com/en/latest/c02/c02_05.html) - * [2.6 【基础】字符串格式化](http://python.iswbm.com/en/latest/c02/c02_06.html) - * [2.6 【基础】运算符(超全整理)](http://python.iswbm.com/en/latest/c02/c02_07.html) + * [2.1 【基础】常量与变量](https://pycharm.iswbm.com/c02/c02_01.html) + * [2.2 【基础】字符串类型](https://pycharm.iswbm.com/c02/c02_02.html) + * [2.3 【基础】整数与浮点数](https://pycharm.iswbm.com/c02/c02_03.html) + * [2.4 【基础】布尔值:真与假](https://pycharm.iswbm.com/c02/c02_04.html) + * [2.5 【基础】学会输入与输出](https://pycharm.iswbm.com/c02/c02_05.html) + * [2.6 【基础】字符串格式化](https://pycharm.iswbm.com/c02/c02_06.html) + * [2.6 【基础】运算符(超全整理)](https://pycharm.iswbm.com/c02/c02_07.html) - **第三章:数据结构** - * [3.1 【基础】列表](http://python.iswbm.com/en/latest/c03/c03_01.html) - * [3.2 【基础】元组](http://python.iswbm.com/en/latest/c03/c03_02.html) - * [3.3 【基础】字典](http://python.iswbm.com/en/latest/c03/c03_03.html) - * [3.4 【基础】集合](http://python.iswbm.com/en/latest/c03/c03_04.html) - * [3.5 【基础】迭代器](http://python.iswbm.com/en/latest/c03/c03_05.html) - * [3.6 【基础】生成器](http://python.iswbm.com/en/latest/c03/c03_06.html) + * [3.1 【基础】列表](https://pycharm.iswbm.com/c03/c03_01.html) + * [3.2 【基础】元组](https://pycharm.iswbm.com/c03/c03_02.html) + * [3.3 【基础】字典](https://pycharm.iswbm.com/c03/c03_03.html) + * [3.4 【基础】集合](https://pycharm.iswbm.com/c03/c03_04.html) + * [3.5 【基础】迭代器](https://pycharm.iswbm.com/c03/c03_05.html) + * [3.6 【基础】生成器](https://pycharm.iswbm.com/c03/c03_06.html) - **第四章:控制流程** - * [4.1 【基础】条件语句:if](http://python.iswbm.com/en/latest/c04/c04_01.html) - * [4.2 【基础】循环语句:for](http://python.iswbm.com/en/latest/c04/c04_02.html) - * [4.3 【基础】循环语句:while](http://python.iswbm.com/en/latest/c04/c04_03.html) - * [4.4 【进阶】五种推导式](http://python.iswbm.com/en/latest/c04/c04_04.html) + * [4.1 【基础】条件语句:if](https://pycharm.iswbm.com/c04/c04_01.html) + * [4.2 【基础】循环语句:for](https://pycharm.iswbm.com/c04/c04_02.html) + * [4.3 【基础】循环语句:while](https://pycharm.iswbm.com/c04/c04_03.html) + * [4.4 【进阶】五种推导式](https://pycharm.iswbm.com/c04/c04_04.html) - **第五章:学习函数** - * [5.1 【基础】普通函数](http://python.iswbm.com/en/latest/c05/c05_01.html) - * [5.2 【基础】匿名函数](http://python.iswbm.com/en/latest/c05/c05_02.html) - * [5.3 【基础】高阶函数](http://python.iswbm.com/en/latest/c05/c05_03.html) - * [5.4 【基础】反射函数](http://python.iswbm.com/en/latest/c05/c05_04.html) - * [5.5 【基础】偏函数](http://python.iswbm.com/en/latest/c05/c05_05.html) - * [5.6 【进阶】泛型函数](http://python.iswbm.com/en/latest/c05/c05_06.html) - * [5.7 【基础】变量的作用域](http://python.iswbm.com/en/latest/c05/c05_07.html) - * [5.8 【进阶】上下文管理器](http://python.iswbm.com/en/latest/c05/c05_08.html) - * [5.9 【进阶】装饰器的六种写法](http://python.iswbm.com/en/latest/c05/c05_09.html) + * [5.1 【基础】普通函数创建与调用](https://pycharm.iswbm.com/c05/c05_01.html) + * [5.2. 【基础】11个案例讲解函数参数](https://pycharm.iswbm.com/c05/c05_02.html) + * [5.3 【基础】匿名函数的使用](https://pycharm.iswbm.com/c05/c05_03.html) + * [5.4 【基础】必学高阶函数](https://pycharm.iswbm.com/c05/c05_04.html) + * [5.5 【基础】反射函数的使用](https://pycharm.iswbm.com/c05/c05_05.html) + * [5.6 【基础】偏函数的妙用](https://pycharm.iswbm.com/c05/c05_06.html) + * [5.7 【进阶】泛型函数的使用](https://pycharm.iswbm.com/c05/c05_07.html) + * [5.8 【基础】变量的作用域](https://pycharm.iswbm.com/c05/c05_08.html) + * [5.9 【进阶】上下文管理器](https://pycharm.iswbm.com/c05/c05_09.html) + * [5.10 【进阶】装饰器的六种写法](https://pycharm.iswbm.com/c05/c05_10.html) - **第六章:错误异常** - * [6.1 【基础】什么是异常?](http://python.iswbm.com/en/latest/c06/c06_01.html) - * [6.2 【基础】如何抛出和捕获异常?](http://python.iswbm.com/en/latest/c06/c06_02.html) - * [6.3 【基础】如何自定义异常?](http://python.iswbm.com/en/latest/c06/c06_03.html) - * [6.4 【进阶】如何关闭异常自动关联上下文?](http://python.iswbm.com/en/latest/c06/c06_04.html) - * [6.5 【进阶】异常处理的三个好习惯](http://python.iswbm.com/en/latest/c06/c06_05.html) + * [6.1 【基础】什么是异常?](https://pycharm.iswbm.com/c06/c06_01.html) + * [6.2 【基础】如何抛出和捕获异常?](https://pycharm.iswbm.com/c06/c06_02.html) + * [6.3 【基础】如何自定义异常?](https://pycharm.iswbm.com/c06/c06_03.html) + * [6.4 【进阶】如何关闭异常自动关联上下文?](https://pycharm.iswbm.com/c06/c06_04.html) + * [6.5 【进阶】异常处理的三个好习惯](https://pycharm.iswbm.com/c06/c06_05.html) - **第七章:类与对象** - * [7.1 【基础】类的理解与使用](http://python.iswbm.com/en/latest/c07/c07_01.html) - * [7.2 【基础】静态方法与类方法](http://python.iswbm.com/en/latest/c07/c07_02.html) - * [7.3 【基础】私有变量与私有方法](http://python.iswbm.com/en/latest/c07/c07_03.html) - * [7.4 【基础】类的封装(Encapsulation)](http://python.iswbm.com/en/latest/c07/c07_04.html) - * [7.5 【基础】类的继承(Inheritance)](http://python.iswbm.com/en/latest/c07/c07_05.html) - * [7.6 【基础】类的多态(Polymorphism)](http://python.iswbm.com/en/latest/c07/c07_06.html) - * [7.7 【基础】类的 property 属性](http://python.iswbm.com/en/latest/c07/c07_07.html) - * [7.8 【进阶】类的 Mixin 设计模式](http://python.iswbm.com/en/latest/c07/c07_08.html) - * [7.9 【进阶】类的魔术方法(超全整理)](http://python.iswbm.com/en/latest/c07/c07_09.html) - * [7.10 【进阶】神奇的元类编程(metaclass)](http://python.iswbm.com/en/latest/c07/c07_10.html) - * [7.11 【进阶】深藏不露的描述符(Descriptor)](http://python.iswbm.com/en/latest/c07/c07_11.html) + * [7.1 【基础】类的理解与使用](https://pycharm.iswbm.com/c07/c07_01.html) + * [7.2 【基础】静态方法与类方法](https://pycharm.iswbm.com/c07/c07_02.html) + * [7.3 【基础】私有变量与私有方法](https://pycharm.iswbm.com/c07/c07_03.html) + * [7.4 【基础】类的封装(Encapsulation)](https://pycharm.iswbm.com/c07/c07_04.html) + * [7.5 【基础】类的继承(Inheritance)](https://pycharm.iswbm.com/c07/c07_05.html) + * [7.6 【基础】类的多态(Polymorphism)](https://pycharm.iswbm.com/c07/c07_06.html) + * [7.7 【基础】类的 property 属性](https://pycharm.iswbm.com/c07/c07_07.html) + * [7.8 【进阶】类的 Mixin 设计模式](https://pycharm.iswbm.com/c07/c07_08.html) + * [7.9 【进阶】类的魔术方法(超全整理)](https://pycharm.iswbm.com/c07/c07_09.html) + * [7.10 【进阶】神奇的元类编程(metaclass)](https://pycharm.iswbm.com/c07/c07_10.html) + * [7.11 【进阶】深藏不露的描述符(Descriptor)](https://pycharm.iswbm.com/c07/c07_11.html) - **第八章:包与模块** - * [8.1 【基础】什么是包、模块和库?](http://python.iswbm.com/en/latest/c08/c08_01.html) - * [8.2 【基础】安装第三方包的八种方法](http://python.iswbm.com/en/latest/c08/c08_02.html) - * [8.3 【基础】导入单元的构成](http://python.iswbm.com/en/latest/c08/c08_03.html) - * [8.4 【基础】导入包的标准写法](http://python.iswbm.com/en/latest/c08/c08_04.html) - * [8.5 【进阶】常规包与空间命名包](http://python.iswbm.com/en/latest/c08/c08_05.html) - * [8.6 【进阶】花式导包的八种方法](http://python.iswbm.com/en/latest/c08/c08_06.html) - * [8.7 【进阶】包导入的三个冷门知识点](http://python.iswbm.com/en/latest/c08/c08_07.html) - * [8.8 【基础】pip 的超全使用指南](http://python.iswbm.com/en/latest/c08/c08_08.html) - * [8.9 【进阶】理解模块的缓存](http://python.iswbm.com/en/latest/c08/c08_09.html) - * [8.10 【进阶】理解查找器与加载器](http://python.iswbm.com/en/latest/c08/c08_10.html) - * [8.11 【进阶】实现远程导入模块](http://python.iswbm.com/en/latest/c08/c08_11.html) - * [8.12 【基础】分发工具:distutils和setuptools](http://python.iswbm.com/en/latest/c08/c08_12.html) - * [8.13 【基础】源码包与二进制包有什么区别?](http://python.iswbm.com/en/latest/c08/c08_13.html) - * [8.14 【基础】eggs与wheels 有什么区别?](http://python.iswbm.com/en/latest/c08/c08_14.html) - * [8.15 【进阶】超详细讲解 setup.py 的编写](http://python.iswbm.com/en/latest/c08/c08_15.html) - * [8.16 【进阶】打包辅助神器 PBR 是什么?](http://python.iswbm.com/en/latest/c08/c08_16.html) - * [8.17 【进阶】开源自己的包到 PYPI 上](http://python.iswbm.com/en/latest/c08/c08_17.html) + * [8.1 【基础】什么是包、模块和库?](https://pycharm.iswbm.com/c08/c08_01.html) + * [8.2 【基础】安装第三方包的八种方法](https://pycharm.iswbm.com/c08/c08_02.html) + * [8.3 【基础】导入单元的构成](https://pycharm.iswbm.com/c08/c08_03.html) + * [8.4 【基础】导入包的标准写法](https://pycharm.iswbm.com/c08/c08_04.html) + * [8.5 【进阶】常规包与空间命名包](https://pycharm.iswbm.com/c08/c08_05.html) + * [8.6 【进阶】花式导包的八种方法](https://pycharm.iswbm.com/c08/c08_06.html) + * [8.7 【进阶】包导入的三个冷门知识点](https://pycharm.iswbm.com/c08/c08_07.html) + * [8.8 【基础】pip 的超全使用指南](https://pycharm.iswbm.com/c08/c08_08.html) + * [8.9 【进阶】理解模块的缓存](https://pycharm.iswbm.com/c08/c08_09.html) + * [8.10 【进阶】理解查找器与加载器](https://pycharm.iswbm.com/c08/c08_10.html) + * [8.11 【进阶】实现远程导入模块](https://pycharm.iswbm.com/c08/c08_11.html) + * [8.12 【基础】分发工具:distutils和setuptools](https://pycharm.iswbm.com/c08/c08_12.html) + * [8.13 【基础】源码包与二进制包有什么区别?](https://pycharm.iswbm.com/c08/c08_13.html) + * [8.14 【基础】eggs与wheels 有什么区别?](https://pycharm.iswbm.com/c08/c08_14.html) + * [8.15 【进阶】超详细讲解 setup.py 的编写](https://pycharm.iswbm.com/c08/c08_15.html) + * [8.16 【进阶】打包辅助神器 PBR 是什么?](https://pycharm.iswbm.com/c08/c08_16.html) + * [8.17 【进阶】开源自己的包到 PYPI 上](https://pycharm.iswbm.com/c08/c08_17.html) - **第九章:调试技巧** - * [9.1 【调试技巧】超详细图文教你调试代码](http://python.iswbm.com/en/latest/c09/c09_01.html) - * [9.2 【调试技巧】PyCharm 中指定参数调试程序](http://python.iswbm.com/en/latest/c09/c09_02.html) - * [9.3 【调试技巧】PyCharm跑完后立即进入调试模式](http://python.iswbm.com/en/latest/c09/c09_03.html) - * [9.4 【调试技巧】脚本报错后立即进入调试模式](http://python.iswbm.com/en/latest/c09/c09_04.html) - * [9.5 【调试技巧】使用 PDB 进行无界面调试](http://python.iswbm.com/en/latest/c09/c09_05.html) - * [9.6 【调试技巧】如何调试已经运行的程序?](http://python.iswbm.com/en/latest/c09/c09_06.html) - * [9.7 【调试技巧】使用 PySnopper 调试疑难杂症](http://python.iswbm.com/en/latest/c09/c09_07.html) - * [9.8 【调试技巧】使用 PyCharm 进行远程调试](http://python.iswbm.com/en/latest/c09/c09_08.html) + * [9.1 【调试技巧】超详细图文教你调试代码](https://pycharm.iswbm.com/c09/c09_01.html) + * [9.2 【调试技巧】PyCharm 中指定参数调试程序](https://pycharm.iswbm.com/c09/c09_02.html) + * [9.3 【调试技巧】PyCharm跑完后立即进入调试模式](https://pycharm.iswbm.com/c09/c09_03.html) + * [9.4 【调试技巧】脚本报错后立即进入调试模式](https://pycharm.iswbm.com/c09/c09_04.html) + * [9.5 【调试技巧】使用 PDB 进行无界面调试](https://pycharm.iswbm.com/c09/c09_05.html) + * [9.6 【调试技巧】如何调试已经运行的程序?](https://pycharm.iswbm.com/c09/c09_06.html) + * [9.7 【调试技巧】使用 PySnopper 调试疑难杂症](https://pycharm.iswbm.com/c09/c09_07.html) + * [9.8 【调试技巧】使用 PyCharm 进行远程调试](https://pycharm.iswbm.com/c09/c09_08.html) + * [9.10 【调试技巧】报错后直接切换pdb调试](https://pycharm.iswbm.com/c09/c09_09.html) - **第十章:并发编程** - * [10.1 【并发编程】从性能角度初探并发编程](http://python.iswbm.com/en/latest/c10/c10_01.html) - * [10.2 【并发编程】创建多线程的几种方法](http://python.iswbm.com/en/latest/c10/c10_02.html) - * [10.3 【并发编程】谈谈线程中的“锁机制”](http://python.iswbm.com/en/latest/c10/c10_03.html) - * [10.4 【并发编程】线程消息通信机制](http://python.iswbm.com/en/latest/c10/c10_04.html) - * [10.5 【并发编程】线程中的信息隔离](http://python.iswbm.com/en/latest/c10/c10_05.html) - * [10.6 【并发编程】线程池创建的几种方法](http://python.iswbm.com/en/latest/c10/c10_06.html) - * [10.7 【并发编程】从 yield 开始入门协程](http://python.iswbm.com/en/latest/c10/c10_07.html) - * [10.8 【并发编程】深入理解yield from语法](http://python.iswbm.com/en/latest/c10/c10_08.html) - * [10.9 【并发编程】初识异步IO框架:asyncio 上篇](http://python.iswbm.com/en/latest/c10/c10_09.html) - * [10.10 【并发编程】深入异步IO框架:asyncio 中篇](http://python.iswbm.com/en/latest/c10/c10_10.html) - * [10.11 【并发编程】实战异步IO框架:asyncio 下篇](http://python.iswbm.com/en/latest/c10/c10_11.html) - * [10.12 【并发编程】生成器与协程,你分清了吗?](http://python.iswbm.com/en/latest/c10/c10_12.html) - * [10.14 【并发编程】浅谈线程安全那些事儿](http://python.iswbm.com/en/latest/c10/c10_13.html) + * [10.1 【并发编程】从性能角度初探并发编程](https://pycharm.iswbm.com/c10/c10_01.html) + * [10.2 【并发编程】创建多线程的几种方法](https://pycharm.iswbm.com/c10/c10_02.html) + * [10.3 【并发编程】谈谈线程中的“锁机制”](https://pycharm.iswbm.com/c10/c10_03.html) + * [10.4 【并发编程】线程消息通信机制](https://pycharm.iswbm.com/c10/c10_04.html) + * [10.5 【并发编程】线程中的信息隔离](https://pycharm.iswbm.com/c10/c10_05.html) + * [10.6 【并发编程】线程池创建的几种方法](https://pycharm.iswbm.com/c10/c10_06.html) + * [10.7 【并发编程】从 yield 开始入门协程](https://pycharm.iswbm.com/c10/c10_07.html) + * [10.8 【并发编程】深入理解yield from语法](https://pycharm.iswbm.com/c10/c10_08.html) + * [10.9 【并发编程】初识异步IO框架:asyncio 上篇](https://pycharm.iswbm.com/c10/c10_09.html) + * [10.10 【并发编程】深入异步IO框架:asyncio 中篇](https://pycharm.iswbm.com/c10/c10_10.html) + * [10.11 【并发编程】实战异步IO框架:asyncio 下篇](https://pycharm.iswbm.com/c10/c10_11.html) + * [10.12 【并发编程】生成器与协程,你分清了吗?](https://pycharm.iswbm.com/c10/c10_12.html) + * [10.14 【并发编程】浅谈线程安全那些事儿](https://pycharm.iswbm.com/c10/c10_13.html) - **第十一章:代码美化** - * [11.1 【代码美化】如何更好进行变量的命名?](http://python.iswbm.com/en/latest/c11/c11_01.html) - * [11.2 【代码美化】写好函数的 6 个建议](http://python.iswbm.com/en/latest/c11/c11_02.html) - * [11.3 【代码美化】自觉遵守 PEP8 代码风格](http://python.iswbm.com/en/latest/c11/c11_03.html) - * [11.4 【代码美化】Pythonic 代码的 15 个案例](http://python.iswbm.com/en/latest/c11/c11_04.html) - * [11.5 【代码美化】写出漂亮 Python 代码的 20条准则](http://python.iswbm.com/en/latest/c11/c11_05.html) - * [11.6 【代码美化】择优选择 EAFP 和 LBYL 代码风格](http://python.iswbm.com/en/latest/c11/c11_06.html) - * [11.7 【代码美化】使用 flake8 保证代码风格](http://python.iswbm.com/en/latest/c11/c11_07.html) + * [11.1 【代码美化】如何更好进行变量的命名?](https://pycharm.iswbm.com/c11/c11_01.html) + * [11.2 【代码美化】写好函数的 6 个建议](https://pycharm.iswbm.com/c11/c11_02.html) + * [11.3 【代码美化】自觉遵守 PEP8 代码风格](https://pycharm.iswbm.com/c11/c11_03.html) + * [11.4 【代码美化】Pythonic 代码的 15 个案例](https://pycharm.iswbm.com/c11/c11_04.html) + * [11.5 【代码美化】写出漂亮 Python 代码的 20条准则](https://pycharm.iswbm.com/c11/c11_05.html) + * [11.6 【代码美化】择优选择 EAFP 和 LBYL 代码风格](https://pycharm.iswbm.com/c11/c11_06.html) + * [11.7 【代码美化】使用 flake8 保证代码风格](https://pycharm.iswbm.com/c11/c11_07.html) - **第十二章:虚拟环境** - * [12.1 【虚拟环境】为什么要有虚拟环境?](http://python.iswbm.com/en/latest/c12/c12_01.html) - * [12.2 【虚拟环境】方案一:使用 virtualenv](http://python.iswbm.com/en/latest/c12/c12_02.html) - * [12.3 【虚拟环境】方案二:使用 pipenv](http://python.iswbm.com/en/latest/c12/c12_03.html) - * [12.4 【虚拟环境】方案三:使用 pipx](http://python.iswbm.com/en/latest/c12/c12_04.html) - * [12.5 【虚拟环境】方案四:使用 poetry](http://python.iswbm.com/en/latest/c12/c12_05.html) + * [12.1 【虚拟环境】为什么要有虚拟环境?](https://pycharm.iswbm.com/c12/c12_01.html) + * [12.2 【虚拟环境】方案一:使用 virtualenv](https://pycharm.iswbm.com/c12/c12_02.html) + * [12.3 【虚拟环境】方案二:使用 pipenv](https://pycharm.iswbm.com/c12/c12_03.html) + * [12.4 【虚拟环境】方案三:使用 pipx](https://pycharm.iswbm.com/c12/c12_04.html) + * [12.5 【虚拟环境】方案四:使用 poetry](https://pycharm.iswbm.com/c12/c12_05.html) + * [12.6 【虚拟环境】方案五:使用 venv](https://pycharm.iswbm.com/c12/c12_06.html) - **第十三章:绝佳工具** - * [13.1 【静态检查】mypy 的使用](http://python.iswbm.com/en/latest/c13/c13_01.html) - * [13.2 【代码测试】pytest 的使用](http://python.iswbm.com/en/latest/c13/c13_02.html) - * [13.3 【代码提交】pre-commit hook](http://python.iswbm.com/en/latest/c13/c13_03.html) - * [13.4 【项目生成】cookiecutter 的使用](http://python.iswbm.com/en/latest/c13/c13_04.html) - - + * [13.1 【静态检查】mypy 的使用](https://pycharm.iswbm.com/c13/c13_01.html) + * [13.2 【代码测试】pytest 的使用](https://pycharm.iswbm.com/c13/c13_02.html) + * [13.3 【代码提交】pre-commit hook](https://pycharm.iswbm.com/c13/c13_03.html) + * [13.4 【项目生成】cookiecutter 的使用](https://pycharm.iswbm.com/c13/c13_04.html) ## 欢迎交流 diff --git a/github-toc-maker-for-sphinx.py b/github-toc-maker-for-sphinx.py index 15dcde895423eda37b4395e994e19948f427aafb..4ba0b8817f9284a65be2d152bb1ed5b23583cf90 100644 --- a/github-toc-maker-for-sphinx.py +++ b/github-toc-maker-for-sphinx.py @@ -16,20 +16,6 @@ def get_title(file): if first_line.startswith("#"): return first_line.replace("# ", "").strip() -def get_current_brance(): - repo = git.Repo(pwd) - all_branchs = repo.git.branch() - - current_branch = "" - for branch in all_branchs.split('\n'): - if "*" in branch: - current_branch = branch.replace("* ", "") - if current_branch == "master": - current_branch = "latest" - break - - return current_branch - def get_all_chapter(): all_chapters_path = [] os.chdir(source_dir) @@ -48,7 +34,7 @@ def generate_mapping(all_chapters_path): return mapping -def get_toc_info(all_chapters_path, current_branch): +def get_toc_info(all_chapters_path): toc = {} for dir_name in all_chapters_path: @@ -58,7 +44,7 @@ def get_toc_info(all_chapters_path, current_branch): for file_name in sorted(glob(dir_name + "*.md")): section = int(re.findall(r"c\d{2}_(\d{2}).md", file_name)[0]) - md_path = os.path.join("http://pycharm.iswbm.com/zh_CN/", current_branch, dir_name, file_name.replace("md", "html")) + md_path = os.path.join("https://pycharm.iswbm.com/", dir_name, file_name.replace("md", "html")) title = get_title(file_name) if not title: continue @@ -82,8 +68,7 @@ def print_md_toc(toc_info, mapping): def main(): all_chapter = get_all_chapter() mapping = generate_mapping(all_chapter) - current_branch = get_current_brance() - toc_info = get_toc_info(all_chapter, current_branch) + toc_info = get_toc_info(all_chapter) print_md_toc(toc_info, mapping) if __name__ == '__main__':