在Python中有很多很好的工具来生成字符串文档(docstring),比如说: epydoc、doxygen、sphinx,但始终觉得pydoc还是不错的工具,用法非常简单,功能也算不错,本文主要介绍pydoc.
pydoc是Python自带的模块,主要用于从python模块中自动生成文档,这些文档可以基于文本呈现的、也可以生成WEB 页面的,还可以在服务器上以浏览器的方式呈现!
【用法】
Windows下:
D:\>python -m pydoc <modulename>
# 比如说: python -m pydoc math
Linux/Unix下:
$ pydoc <modulename>
# 比如说: pydoc
【帮助】
$ pydoc -h
pydoc - the python documentation tool
pydoc <name> ...
show text documentation on something. <name> may be the name of a
python keyword, topic, function, module, or package, or a dotted
reference to a class or function within a module or module in a
package. if <name> contains a '/', it is used as the path to a
python source file to document. if name is 'keywords', 'topics',
or 'modules', a listing of these things is displayed.
pydoc -k <keyword>
search for a keyword in the synopsis lines of all available modules.
pydoc -p <port>
start an http server on the given port on the local machine.
pydoc -w <name> ...
write out the html documentation for a module to a file in the current
directory. if <name> contains a '/', it is treated as a filename; if
it names a directory, documentation is written for all the contents.
【参数 -p】在本地机器上,按照给定的端口启动HTTP,
D:\>python -m pydoc -p 1234 #比如说: 端口为1234 pydoc server ready at http://localhost:1234/ pydoc server stopped
在IE中输入:http://localhost:1234/,效果如图:
【参数 -k】在所有可用的模块中按关键字搜索
$ pydoc -k xml.sax
xml.sax (package) - Simple API for XML (SAX) implementation for Python.
xml.sax._exceptions - Different kinds of SAX Exceptions
xml.sax.expatreader - SAX driver for the pyexpat C module. This driver works with
xml.sax.handler - This module contains the core classes of version 2.0 of SAX for Python.
xml.sax.saxutils - A library of useful helper classes to the SAX classes, for the
xml.sax.xmlreader - An XML Reader is the SAX 2 name for an XML parser. XML Parsers
【参数 -w】将指定模块的文本字符串生成HTML格式比如说,在Window下面,执行下面命令:
那么在D:\Learn\Python目录下会生成math.html文件,显示如下:D:\Learn\Python>python -m pydoc math -w math.html # math是模块名,-w:写
【例子】自写的模块my_doc.py
''''' showoff features of pydoc module this is easy module to demonstrate docstrings ''' __authors__ = 'alice & fred' __version__ = 'version 1.10' __license__ = 'copyright...' class myclass: ''''' demonstrate class docstrings ''' def __init__(self, spam=1, eggs=2): ''''' set the default attributevalues only keyword arguments: spam - a processed meat product eggs - a fine breakfast for lumberjacks ''' self.spam = spam self.eggs = eggs def square(x): ''''' square of the param <x> ''' return x * x
执行命令:D:\Learn\Python> python -m pydoc my_doc
执行结果:Help on module my_doc: NAME my_doc FILE d:\learn\python\my_doc.py DESCRIPTION Showoff features of Pydoc module This is easy module to demonstrate docstrings CLASSES MyClass class MyClass | Demonstrate Class Docstrings | | Methods defined here: | | __init__(self, spam=1, eggs=2) | Set the default attributevalues only | Keyword arguments: | spam - a processed meat product | eggs - a fine breakfast for lumberjacks FUNCTIONS square(x) Square of the param <x> DATA __authors__ = 'Alice & Fred' __license__ = 'Copyright...' __version__ = 'version 1.10' VERSION version 1.10
执行命令:d:\Learn\Python>python -m pydoc -w my_doc my_doc.html wrote my_doc.html no Python documentation found for 'my_doc.html'
执行结果:https://docs.python.org/2/library/pydoc.html
如果您觉得本文还不错,可以点击下面赞赏我们!