Python文档生成工具pydoc使用介绍

1117次阅读  |  发布于5年以前

在Python中有很多很好的工具来生成字符串文档(docstring),比如说: epydoc、doxygen、sphinx,但始终觉得pydoc还是不错的工具,用法非常简单,功能也算不错,本文主要介绍pydoc.
pydoc是Python自带的模块,主要用于从python模块中自动生成文档,这些文档可以基于文本呈现的、也可以生成WEB 页面的,还可以在服务器上以浏览器的方式呈现!
【用法】

Windows下:

复制代码 代码如下:

D:>python -m pydoc # 比如说: python -m pydoc math
-m参数:Python以脚本的方法运行模块

Linux/Unix下:

复制代码 代码如下:

$ pydoc # 比如说: pydoc

【帮助】

复制代码 代码如下:

$ pydoc -h
pydoc - the Python documentation tool

pydoc ...
Show text documentation on something. 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 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
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 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>python -m pydoc math -w math.html # math是模块名,-w:写

那么在D:\Learn\Python目录下会生成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:\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

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'

执行结果:

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8