pydoc的输出根据字母顺序对结果(方法及其文档字符串)进行排序。这很好,但我希望保持最新状态。当我在我的模块中添加一个新方法时,我将它添加为第一个方法,因此每次添加新方法时它都会成为文件中的第一个方法。
我希望pydoc输出的显示顺序与文件中的方法相同。
这可能吗?
示例:
这是我的模块,pydoc_test.py:
#!/usr/bin/python
def test_my_code():
"""
Docstring for test_my_code()
:return:
"""
pass
def add_my_code():
"""
Docstring for add_my_code()
:return:
"""
pass
以下是" pydoc pydoc_test"的输出:
Help on module pydoc_test:
NAME
pydoc_test
FILE
/Users/myname/Documents/scripts/python_learning/pydoc_test.py
FUNCTIONS
add_my_code()
Docstring for add_my_code()
:return:
test_my_code()
Docstring for test_my_code()
:return:
pydoc显示" add_my_code"首先然后" test_my_code",但我想要与文件中的顺序相同。
答案 0 :(得分:0)
我最近遇到了同样的问题,据我所知documentation,pydoc本身并没有给你这个选项。
我认为你唯一能做的就是抓住pydoc的输出:
import pydoc
import pydoc_test
docstrings = pydoc.render_doc(pydoc_test)
并解析它以获得单独的文档字符串。
然后阅读pydoc_test.py,通过搜索'def'获取函数名称,并根据它们在pydoc_test.py中出现的顺序重新排列pydoc docstrings。
非常难看,我同意。我想这是一个如此迂回的方式来获得你想要的东西,你可能会忘记所有pydoc并直接读取你的pydoc_test.py文件并解析它以获得docstrings。