Python文档生成工具pydoc使用介绍
admin
2023-07-31 02:29:12
0

在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\’ 

执行结果:

相关内容

热门资讯

500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
Prometheus+Graf... 一,Prometheus概述 1,什么是Prometheus?Prometheus是最初在Sound...
python绘图库Matplo... 本文简单介绍了Python绘图库Matplotlib的安装,简介如下: matplotlib是pyt...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...