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的web.py框架并从hello world开始编程
Apr 25 Python
Python访问纯真IP数据库脚本分享
Jun 29 Python
Python实现多线程抓取妹子图
Aug 08 Python
python读取txt文件,去掉空格计算每行长度的方法
Dec 20 Python
在python环境下运用kafka对数据进行实时传输的方法
Dec 27 Python
对django后台admin下拉框进行过滤的实例
Jul 26 Python
Python 一键获取百度网盘提取码的方法
Aug 01 Python
使用Pycharm分段执行代码
Apr 15 Python
keras 自定义loss层+接受输入实例
Jun 28 Python
python绘制分布折线图的示例
Sep 24 Python
python 常见的反爬虫策略
Sep 27 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
Jan 30 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
使用GD库生成带阴影文字的图片
2015/03/27 PHP
Yii框架ACF(accessController)简单权限控制操作示例
2019/04/26 PHP
PHP全局使用Laravel辅助函数dd
2019/12/26 PHP
[原创]网络复制内容时常用的正则+editplus
2006/11/30 Javascript
广告代码静态化js通用函数
2007/05/09 Javascript
Javascript 构造函数,公有,私有特权和静态成员定义方法
2009/11/30 Javascript
JavaScript中SQL语句的应用实现
2010/05/04 Javascript
Javascript绝句欣赏 一些经典的js代码
2012/02/22 Javascript
Jquery的hover方法让鼠标经过li时背景变色
2013/09/06 Javascript
ext combobox动态加载数据库数据(附前后台)
2014/06/17 Javascript
JS实现仿中关村论坛评分后弹出提示效果的方法
2015/02/23 Javascript
Javascript实现网络监测的方法
2015/07/31 Javascript
javascript 将共享属性迁移到原型中去的实现方法
2016/08/31 Javascript
详解使用grunt完成requirejs的合并压缩和js文件的版本控制
2017/03/02 Javascript
在百度搜索结果中去除掉一些网站的资料(通过js控制不让显示)
2017/05/02 Javascript
Angularjs 与 bower安装和使用详解
2017/05/11 Javascript
JavaScript实现无刷新上传预览图片功能
2017/08/02 Javascript
js HTML5 canvas绘制图片的方法
2017/09/08 Javascript
JavaScript 自定义事件之我见
2017/09/25 Javascript
浅析node应用的timing-attack安全漏洞
2018/02/28 Javascript
使用Vue自定义指令实现Select组件
2018/05/24 Javascript
Vue+Element实现动态生成新表单并添加验证功能
2019/05/23 Javascript
基于VUE实现判断设备是PC还是移动端
2020/07/03 Javascript
Array.filter中如何正确使用Async
2020/11/04 Javascript
python中Flask框架简单入门实例
2015/03/21 Python
Python内置函数dir详解
2015/04/14 Python
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
2018/04/05 Python
Django重置migrations文件的方法步骤
2019/05/01 Python
python tornado使用流生成图片的例子
2019/11/18 Python
Python控制鼠标键盘代码实例
2020/12/08 Python
HTML5语义化元素你真的用对了吗
2019/08/22 HTML / CSS
信息服务专业毕业生求职信
2014/03/02 职场文书
周年庆促销方案
2014/03/15 职场文书
党员教师一句话承诺
2014/05/30 职场文书
缓刑人员思想汇报
2014/10/11 职场文书
社区低保工作总结2015
2015/07/23 职场文书