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中除法使用的注意事项
Aug 21 Python
使用Python读写及压缩和解压缩文件的示例
Jul 08 Python
python字典操作实例详解
Nov 16 Python
浅谈python 里面的单下划线与双下划线的区别
Dec 01 Python
python+numpy按行求一个二维数组的最大值方法
Jul 09 Python
Python发送邮件的实例代码讲解
Oct 16 Python
tensorflow自定义激活函数实例
Feb 04 Python
解决pycharm中的run和debug失效无法点击运行
Jun 09 Python
使用PyCharm安装pytest及requests的问题
Jul 31 Python
基于Python采集爬取微信公众号历史数据
Nov 27 Python
用python开发一款操作MySQL的小工具
May 12 Python
python​格式化字符串
Apr 20 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
用PHP和MySQL保存和输出图片
2006/10/09 PHP
php的curl实现get和post的代码
2008/08/23 PHP
检查url链接是否已经有参数的php代码 添加 ? 或 &amp;
2010/02/09 PHP
用来解析.htgroup文件的PHP类
2012/09/05 PHP
8个必备的PHP功能开发
2015/10/02 PHP
javascript arguments 传递给函数的隐含参数
2009/08/21 Javascript
一个简单的JavaScript 日期计算算法
2009/09/11 Javascript
jQuery获得内容和属性示例代码
2014/01/16 Javascript
html的DOM中Event对象onabort事件用法实例
2015/01/21 Javascript
只要1K 纯JS脚本送你一朵3D红色玫瑰
2016/08/09 Javascript
JavaScript面试题大全(推荐)
2016/09/22 Javascript
node安装--linux下的快速安装教程
2017/03/21 Javascript
JavaScript 事件流、事件处理程序及事件对象总结
2017/04/01 Javascript
深入解析nodejs HTTP服务
2017/07/25 NodeJs
详解VUE自定义组件中用.sync修饰符与v-model的区别
2018/06/26 Javascript
Python简单实现enum功能的方法
2016/04/25 Python
Python实现一个转存纯真IP数据库的脚本分享
2017/05/21 Python
Python获取SQLite查询结果表列名的方法
2017/06/21 Python
给你选择Python语言实现机器学习算法的三大理由
2017/11/15 Python
在python中对变量判断是否为None的三种方法总结
2019/01/23 Python
python+openCV利用摄像头实现人员活动检测
2019/06/22 Python
python判断自身是否正在运行的方法
2019/08/08 Python
Python爬取破解无线网络wifi密码过程解析
2019/09/17 Python
python实现文件批量编码转换及注意事项
2019/10/14 Python
Python判断字符串是否为空和null方法实例
2020/04/26 Python
Python操作MySQL数据库的示例代码
2020/07/13 Python
微信小程序canvas实现水平、垂直居中效果
2020/02/05 HTML / CSS
地球鞋加拿大官网:Earth Shoes Canada
2020/11/17 全球购物
简单的辞职信范文
2014/01/18 职场文书
初中三年毕业生的自我评价分享
2014/02/14 职场文书
2015政治思想表现评语
2015/03/25 职场文书
海洋天堂观后感
2015/06/05 职场文书
2015年秋季运动会广播稿
2015/08/19 职场文书
2016高考冲刺决心书
2015/09/23 职场文书
Java使用Unsafe类的示例详解
2021/09/25 Java/Android
浅谈MySQL中的六种日志
2022/03/23 MySQL