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解析xml文件实例分享
Dec 04 Python
Python 的描述符 descriptor详解
Feb 27 Python
python相似模块用例
Mar 04 Python
python实现拓扑排序的基本教程
Mar 11 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
Apr 05 Python
Python3中的json模块使用详解
May 05 Python
python文件选择对话框的操作方法
Jun 27 Python
Python将主机名转换为IP地址的方法
Aug 14 Python
信号生成及DFT的python实现方式
Feb 25 Python
Django form表单与请求的生命周期步骤详解
Jun 07 Python
python转化excel数字日期为标准日期操作
Jul 14 Python
Opencv实现二维直方图的计算及绘制
Jul 21 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语法(5)
2006/10/09 PHP
PHP stream_context_create()作用和用法分析
2011/03/29 PHP
ThinkPHP登录功能的实现方法
2014/08/20 PHP
php使用curl实现ftp文件下载功能
2017/05/16 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
Tips 带三角可关闭的文字提示
2010/10/06 Javascript
jQuery当鼠标悬停时放大图片的效果实例
2013/07/03 Javascript
深入理解Javascript里的依赖注入
2014/03/19 Javascript
浅谈JavaScript Date日期和时间对象
2014/12/29 Javascript
js控制网页背景音乐播放与停止的方法
2015/02/06 Javascript
Javascript中的Callback方法浅析
2015/03/15 Javascript
JavaScript动态加载样式表的方法
2015/03/21 Javascript
使用DNode实现php和nodejs之间通信的简单实例
2015/07/06 NodeJs
jQuery插件编写步骤详解
2016/06/03 Javascript
Javascript之Number对象介绍
2016/06/07 Javascript
TypeScript学习之强制类型的转换
2016/12/27 Javascript
vue实现列表的添加点击
2016/12/29 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
2017/05/11 Javascript
Angular如何引入第三方库的方法详解
2017/07/13 Javascript
基于Jquery Ajax type的4种类型(详解)
2017/08/02 jQuery
nodejs连接mysql数据库及基本知识点详解
2018/03/20 NodeJs
js实现随机点名
2021/01/19 Javascript
[02:25]DOTA2英雄基础教程 生死判决瘟疫法师
2013/12/06 DOTA
[40:03]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#1EHOME VS Archon
2016/03/02 DOTA
python3 读取Excel表格中的数据
2018/10/16 Python
windows中安装Python3.8.0的实现方法
2019/11/19 Python
有关pycharm登录github时有的时候会报错connection reset的问题
2020/09/15 Python
HTMl5的存储方式sessionStorage和localStorage详解
2014/03/18 HTML / CSS
澳大利亚领先的女帽及配饰公司:Morgan&Taylor
2019/12/01 全球购物
银行会计业务的个人自我评价
2013/11/02 职场文书
高校自主招生教师推荐信
2015/03/23 职场文书
开业庆典致辞
2015/08/01 职场文书
gojs实现蚂蚁线动画效果
2022/02/18 Javascript
mysql实现将字符串字段转为数字排序或比大小
2022/06/14 MySQL
PostgreSQL怎么创建分区表详解
2022/06/25 PostgreSQL