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连接MySQL、MongoDB、Redis、memcache等数据库的方法
Nov 15 Python
使用python装饰器验证配置文件示例
Feb 24 Python
使用Python生成随机密码的示例分享
Feb 18 Python
python批量添加zabbix Screens的两个脚本分享
Jan 16 Python
Python向日志输出中添加上下文信息
May 24 Python
python3使用scrapy生成csv文件代码示例
Dec 28 Python
详解python字节码
Feb 07 Python
TensorFlow实现简单卷积神经网络
May 24 Python
python版opencv摄像头人脸实时检测方法
Aug 03 Python
Python学习笔记之读取文件、OS模块、异常处理、with as语法示例
Jun 04 Python
使用apiDoc实现python接口文档编写
Nov 19 Python
Python手绘可视化工具cutecharts使用实例
Dec 05 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
千呼万唤始出来,DOTA2勇士令状不朽宝藏Ⅱ现已推出
2020/08/25 DOTA
PHP多线程编程之管道通信实例分析
2015/03/07 PHP
php批量删除超链接的实现方法
2015/10/19 PHP
JQuery AJAX实现目录浏览与编辑的代码
2008/10/21 Javascript
Javascript 面向对象 继承
2010/05/13 Javascript
关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
2010/11/30 Javascript
围观tangram js库
2010/12/28 Javascript
mailto的使用技巧分享
2012/12/21 Javascript
利用javascript判断文件是否存在
2013/12/31 Javascript
再探JavaScript作用域
2014/09/24 Javascript
js文件包含的几种方式介绍
2014/09/28 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
2015/11/19 Javascript
jQuery限制图片大小的方法
2016/05/25 Javascript
jQuery实现导航高亮的方法【附demo源码下载】
2016/11/09 Javascript
基本DOM节点操作
2017/01/17 Javascript
jQuery鼠标悬停内容动画切换效果
2017/04/27 jQuery
Nuxt.js踩坑总结分享
2018/01/18 Javascript
vue slot 在子组件中显示父组件传递的模板
2018/03/02 Javascript
AngularJS 事件发布机制
2018/08/28 Javascript
解决Layui中layer报错的问题
2019/09/03 Javascript
JS立即执行的匿名函数用法分析
2019/11/04 Javascript
python执行shell获取硬件参数写入mysql的方法
2014/12/29 Python
Python中处理时间的几种方法小结
2015/04/09 Python
python实现备份目录的方法
2015/08/03 Python
Python应用03 使用PyQT制作视频播放器实例
2016/12/07 Python
windows系统下Python环境的搭建(Aptana Studio)
2017/03/06 Python
python3+PyQt5实现自定义流体混合窗口部件
2018/04/24 Python
python的命名规则知识点总结
2019/10/04 Python
jupyter 中文乱码设置编码格式 避免控制台输出的解决
2020/04/20 Python
Python读写压缩文件的方法
2020/07/30 Python
开会迟到检讨书
2014/02/03 职场文书
农民工预备党员思想汇报
2014/09/14 职场文书
任命书怎么写
2015/03/02 职场文书
公积金贷款承诺书
2015/04/30 职场文书
FP-growth算法发现频繁项集——发现频繁项集
2021/06/24 Python
macos系统如何实现微信双开? mac登录两个微信以上微信的技巧
2022/07/23 数码科技