這篇文章主要介紹了Python文檔生成工具pydoc使用介紹,本文講解了基本用法、獲取幫助的方法、生成的文檔效果圖等內容,需要的朋友可以參考下
在Python中有很多很好的工具來生成字符串文檔(docstring),比如說: epydoc、doxygen、sphinx,但始終覺得pydoc還是不錯的工具,用法非常簡單,功能也算不錯,本文主要介紹pydoc.
pydoc是Python自帶的模塊,主要用於從python模塊中自動生成文檔,這些文檔可以基於文本呈現的、也可以生成WEB 頁面的,還可以在服務器上以浏覽器的方式呈現!
【用法】
Windows下:
代碼如下:
D:>python -m pydoc
-m參數:Python以腳本的方法運行模塊
Linux/Unix下:
代碼如下:
$ pydoc
【幫助】
代碼如下:
$ pydoc -h
pydoc - the Python documentation tool
pydoc
Show text documentation on something.
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
Python source file to document. If name is 'keywords', 'topics',
or 'modules', a listing of these things is displayed.
pydoc -k
Search for a keyword in the synopsis lines of all available modules.
pydoc -p
Start an HTTP server on the given port on the local machine.
pydoc -w
Write out the HTML documentation for a module to a file in the current
directory. 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:LearnPython>python -m pydoc math -w math.html # math是模塊名,-w:寫
那麼在D:LearnPython目錄下會生成math.html文件,顯示如下:
因為是自帶的模塊,所以右上角顯示(built-in)字樣
【例子】自寫的模塊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
'''
return x * x
執行命令:
代碼如下:
D:LearnPython> python -m pydoc my_doc
執行結果:
代碼如下:
Help on module my_doc:
NAME
my_doc
FILE
d:learnpythonmy_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
DATA
__authors__ = 'Alice & Fred'
__license__ = 'Copyright...'
__version__ = 'version 1.10'
VERSION
version 1.10
執行命令:
代碼如下:
d:LearnPython>python -m pydoc -w my_doc my_doc.html
wrote my_doc.html
no Python documentation found for 'my_doc.html'
執行結果: