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 获取文件列表(或是目录例表)
Mar 25 Python
python通过apply使用元祖和列表调用函数实例
May 26 Python
深入理解Python中的super()方法
Nov 20 Python
python奇偶行分开存储实现代码
Mar 19 Python
Python二进制串转换为通用字符串的方法
Jul 23 Python
Python中最大递归深度值的探讨
Mar 05 Python
详解pandas绘制矩阵散点图(scatter_matrix)的方法
Apr 23 Python
Python flask框架端口失效解决方案
Jun 04 Python
Python爬虫爬取糗事百科段子实例分享
Jul 31 Python
python 将列表里的字典元素合并为一个字典实例
Sep 01 Python
python脚本框架webpy模板控制结构
Nov 20 Python
Python实现数据的序列化操作详解
Jul 07 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中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节
2010/07/09 PHP
PHP动态分页函数,PHP开发分页必备啦
2011/11/07 PHP
PHP中运用jQuery的Ajax跨域调用实现代码
2012/02/21 PHP
php文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
2012/06/13 PHP
php使用gettimeofday函数返回当前时间并存放在关联数组里
2015/03/19 PHP
php截取指定2个字符之间字符串的方法
2015/04/15 PHP
PHP调用微博接口实现微博登录的方法示例
2018/09/22 PHP
javascript中利用数组实现的循环队列代码
2010/01/24 Javascript
javascript 密码强度验证规则、打分、验证(给出前端代码,后端代码可根据强度规则翻译)
2010/05/18 Javascript
6款新颖的jQuery和CSS3进度条插件推荐
2013/03/05 Javascript
javascript中this做事件参数相关问题解答
2013/03/17 Javascript
JavaScript中对循环语句的优化技巧深入探讨
2014/06/06 Javascript
JS实现简单的顶部定时关闭层效果
2014/06/15 Javascript
javascript自定义右键弹出菜单实现方法
2015/05/25 Javascript
Angular的Bootstrap(引导)和Compiler(编译)机制
2016/06/20 Javascript
原生JS实现多个小球碰撞反弹效果示例
2018/01/31 Javascript
解析Vue.js中的组件
2018/02/02 Javascript
Postman无法正常返回结果问题解决
2020/08/28 Javascript
用vue设计一个日历表
2020/12/03 Vue.js
详解微信小程序「渲染层网络层错误」的解决方法
2021/01/06 Javascript
[03:44]2015国际邀请赛选手档案—Cloud9.NoTail
2015/07/28 DOTA
Python使用matplotlib实现的图像读取、切割裁剪功能示例
2018/04/28 Python
python bmp转换为jpg 并删除原图的方法
2018/10/25 Python
对Python的zip函数妙用,旋转矩阵详解
2018/12/13 Python
PyQt5使用QTimer实现电子时钟
2019/07/29 Python
flask实现验证码并验证功能
2019/12/05 Python
Python的Django框架实现数据库查询(不返回QuerySet的方法)
2020/05/19 Python
购买200个世界上最好的内衣品牌:Bare Necessities
2017/02/11 全球购物
Boden美国官网:英伦原创时装品牌
2017/07/03 全球购物
前台接待的工作职责
2013/11/21 职场文书
员工工作表现自我评价
2015/03/06 职场文书
人民检察院起诉书
2015/05/20 职场文书
2016拓展训练心得体会范文
2016/01/12 职场文书
2019财务转正述职报告
2019/06/27 职场文书
Java反应式框架Reactor中的Mono和Flux
2021/07/25 Java/Android
面试中canvas绘制图片模糊图片问题处理
2022/03/13 Javascript