我正在尝试从我的模块中创建一个文档。我使用Python 3.2.3从Windows 7的命令行中使用了pydoc
:
python "<path_to_pydoc_>\pydoc.py" -w myModule
这导致我的shell填充了文本,我的模块中的每个文件都有一行,说:
no Python documentation found for '<file_name>'
就好像Pydoc试图获取我的文件的文档,但我想自动创建它。我找不到使用Google的好教程。有没有人有关于如何使用Pydoc的任何提示?
如果我尝试使用
从一个文件创建文档python ... -w myModule\myFile.py, it says "wrote myFile.html", and when I open it, it has one line of text saying:
# ../myModule/myFile.py
此外,它在我的计算机上有一个指向文件本身的链接,我可以点击它,它会在我的网络浏览器上显示文件内的内容。
答案 0 :(得分:77)
人们可能觉得有用的另一件事......确保从模块名称中删除“.py”。例如,如果您尝试在“ original.py ”中生成'原始'的文档:
yourcode_dir$ pydoc -w original.py no Python documentation found for 'original.py' yourcode_dir$ pydoc -w original wrote original.html
答案 1 :(得分:70)
pydoc非常适合生成文档,但必须首先编写文档。您必须在源代码中包含文档字符串,如RocketDonkey在评论中所述:
"""
This example module shows various types of documentation available for use
with pydoc. To generate HTML documentation for this module issue the
command:
pydoc -w foo
"""
class Foo(object):
"""
Foo encapsulates a name and an age.
"""
def __init__(self, name, age):
"""
Construct a new 'Foo' object.
:param name: The name of foo
:param age: The ageof foo
:return: returns nothing
"""
self.name = name
self.age = age
def bar(baz):
"""
Prints baz to the display.
"""
print baz
if __name__ == '__main__':
f = Foo('John Doe', 42)
bar("hello world")
第一个docstring提供了使用pydoc创建文档的说明。有一些不同类型的文档字符串的示例,因此您可以看到它们在使用pydoc生成时的外观。
答案 2 :(得分:31)
正如RocketDonkey建议的那样,你的模块本身需要一些文档字符串。
例如,在myModule/__init__.py
:
"""
The mod module
"""
您还希望使用
为myModule/*.py
中的每个文件生成文档
pydoc myModule.thefilename
确保生成的文件与主模块文档文件中引用的文件匹配。
答案 3 :(得分:-7)
使用pydoc.doc()可以显示docstring,可以是类,模块等。