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


Posted in Python onJune 02, 2015

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

Windows下:

D:\>python -m pydoc <modulename>   # 比如说: python -m pydoc math    

-m参数:Python以脚本的方法运行模块

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/,效果如图:

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

【参数 -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文件,显示如下:

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

因为是自带的模块,所以右上角显示(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 <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' 

执行结果:

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

Python 相关文章推荐
python运行时间的几种方法
Jun 17 Python
Python 12306抢火车票脚本 Python京东抢手机脚本
Feb 06 Python
浅谈python numpy中nonzero()的用法
Apr 02 Python
python仿evething的文件搜索器实例代码
May 13 Python
Python分布式进程中你会遇到的问题解析
May 28 Python
python 实现绘制整齐的表格
Nov 18 Python
Python3 main函数使用sys.argv传入多个参数的实现
Dec 25 Python
Pycharm 2020年最新激活码(亲测有效)
Sep 18 Python
Python文件时间操作步骤代码详解
Apr 13 Python
使用PyQt5实现图片查看器的示例代码
Apr 21 Python
PyTorch中model.zero_grad()和optimizer.zero_grad()用法
Jun 24 Python
使用python绘制分组对比柱状图
Apr 21 Python
自己使用总结Python程序代码片段
Jun 02 #Python
python执行子进程实现进程间通信的方法
Jun 02 #Python
Python多进程并发(multiprocessing)用法实例详解
Jun 02 #Python
使用pdb模块调试Python程序实例
Jun 02 #Python
python使用xmlrpclib模块实现对百度google的ping功能
Jun 02 #Python
python基于xmlrpc实现二进制文件传输的方法
Jun 02 #Python
Python中的自省(反射)详解
Jun 02 #Python
You might like
一个ubbcode的函数,速度很快.
2006/10/09 PHP
Php Image Resize图片大小调整的函数代码
2011/01/17 PHP
PHP游戏编程25个脚本代码
2011/02/08 PHP
php按单词截取字符串的方法
2015/04/07 PHP
php实现简单的上传进度条
2015/11/17 PHP
windows平台中配置nginx+php环境
2015/12/06 PHP
php获取服务器操作系统相关信息的方法
2016/10/08 PHP
php中错误处理操作实例分析
2019/08/23 PHP
XHTML下,JS浮动代码失效的问题
2009/11/12 Javascript
style、 currentStyle、 runtimeStyle区别分析
2010/08/01 Javascript
如何使用JS获取IE上传文件路径(IE7,8)
2013/07/08 Javascript
JavaScript定义类的几种方式总结
2014/01/06 Javascript
jquery分页插件jpaginate在IE中不兼容问题
2014/04/22 Javascript
3个可以改善用户体验的AngularJS指令介绍
2015/06/18 Javascript
浅谈jQuery中height与width
2015/07/06 Javascript
js剪切板应用clipboardData实例解析
2016/05/29 Javascript
微信小程序新增的拖动组件movable-view使用教程
2017/05/20 Javascript
获取当前按钮或者html的ID名称实例(推荐)
2017/06/23 Javascript
详解Node.js异步处理的各种写法
2019/06/09 Javascript
Flutter部件内部状态管理小结之实现Vue的v-model功能
2019/06/11 Javascript
python 读取文件并把矩阵转成numpy的两种方法
2019/02/12 Python
Python 通过requests实现腾讯新闻抓取爬虫的方法
2019/02/22 Python
Python的pygame安装教程详解
2020/02/10 Python
Python制作简单的剪刀石头布游戏
2020/12/10 Python
详解HTML5 window.postMessage与跨域
2017/05/11 HTML / CSS
html5中使用hotcss.js实现手机端自适配的方法
2020/04/23 HTML / CSS
阿里巴巴美国:Alibaba美国
2019/11/24 全球购物
英国时尚和家居用品零售商:Matalan
2021/02/28 全球购物
能否解释一下XSS cookie盗窃是什么意思
2012/06/02 面试题
销售自我评价
2013/10/22 职场文书
小学教师岗位职责
2013/11/25 职场文书
中医学专业自荐信范文
2014/04/01 职场文书
医生爱岗敬业演讲稿
2014/08/26 职场文书
走近毛泽东观后感
2015/06/04 职场文书
Python List remove()实例用法详解
2021/08/02 Python
Python批量解压&压缩文件夹的示例代码
2022/04/04 Python