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使用mysqldb连接数据库操作方法示例详解
Dec 03 Python
Python中的Numpy入门教程
Apr 26 Python
Python生成随机验证码的两种方法
Dec 22 Python
使用python模拟命令行终端的示例
Aug 13 Python
Pytorch中index_select() 函数的实现理解
Nov 19 Python
Python使用Tkinter实现滚动抽奖器效果
Jan 06 Python
python os模块在系统管理中的应用
Jun 22 Python
Cpython解释器中的GIL全局解释器锁
Nov 09 Python
python中altair可视化库实例用法
Jan 26 Python
Python 文本滚动播放器的实现代码
Apr 25 Python
pyqt5打包成exe可执行文件的方法
May 14 Python
python之PySide2安装使用及QT Designer UI设计案例教程
Jul 26 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
标准版Eclipse搭建PHP环境的详细步骤
2015/11/18 PHP
php数据访问之查询关键字
2016/05/09 PHP
php关联数组与索引数组及其显示方法
2018/03/12 PHP
翻译整理的jQuery使用查询手册
2007/03/07 Javascript
javascript 自动填写表单的实现方法
2010/04/09 Javascript
原生javascript获取元素样式属性值的方法
2010/12/25 Javascript
js中parseInt函数浅谈
2013/07/31 Javascript
jQuery获取当前对象标签名称的方法
2014/02/07 Javascript
JavaScript实现随机替换图片的方法
2015/04/16 Javascript
异步JavaScript编程中的Promise使用方法
2015/07/28 Javascript
响应式表格之固定表头的简单实现
2016/08/26 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
2016/10/28 Javascript
angularJS+requireJS实现controller及directive的按需加载示例
2017/02/20 Javascript
js中的面向对象入门
2017/03/06 Javascript
javascript 开发之网页兼容各种浏览器
2017/09/28 Javascript
vue项目如何刷新当前页面的方法
2018/05/18 Javascript
layUI实现列表查询功能
2019/07/27 Javascript
微信小程序制作扭蛋机代码实例
2019/09/24 Javascript
js刷新页面location.reload()用法详解
2019/12/09 Javascript
关于vue3.0中的this.$router.replace({ path: '/'})刷新无效果问题
2020/01/16 Javascript
Python实现的数据结构与算法之队列详解
2015/04/22 Python
Python编程中使用Pillow来处理图像的基础教程
2015/11/20 Python
Phantomjs抓取渲染JS后的网页(Python代码)
2016/05/13 Python
Python socket网络编程TCP/IP服务器与客户端通信
2017/01/05 Python
python解决js文件utf-8编码乱码问题(推荐)
2018/05/02 Python
Python生命游戏实现原理及过程解析(附源代码)
2019/08/01 Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
2020/07/14 Python
Pycharm常用快捷键总结及配置方法
2020/11/14 Python
python 如何对logging日志封装
2020/12/02 Python
python 获取谷歌浏览器保存的密码
2021/01/06 Python
美国在线和移动免费会员制批发零售商:Boxed(移动端的Costco)
2020/01/02 全球购物
房屋转让协议书
2014/04/11 职场文书
建筑学专业自荐书
2014/07/09 职场文书
人生一定要学会的三样东西:放下、忘记、珍惜
2019/08/21 职场文书
看看如何用Python绘制小米新版天价logo
2021/04/20 Python
Python如何导出导入所有依赖包详解
2021/06/08 Python