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 随机数生成的代码的详细分析
May 15 Python
跟老齐学Python之list和str比较
Sep 20 Python
Python中shape计算矩阵的方法示例
Apr 21 Python
解决python opencv无法显示图片的问题
Oct 28 Python
python实现单链表的方法示例
Sep 03 Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
Sep 07 Python
Django框架教程之中间件MiddleWare浅析
Dec 29 Python
简单了解python shutil模块原理及使用方法
Apr 28 Python
使用PyQt的QLabel组件实现选定目标框功能的方法示例
May 19 Python
浅谈TensorFlow之稀疏张量表示
Jun 30 Python
python开发入门——列表生成式
Sep 03 Python
详解Python3 定义一个跨越多行的字符串的多种方法
Sep 06 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完全过滤HTML,JS,CSS等标签
2009/01/16 PHP
UCenter 批量添加用户的php代码
2012/07/17 PHP
PHP如何使用Memcached
2016/04/05 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
2016/05/09 PHP
PHP自动补全表单的两种方法
2017/03/06 PHP
php实现生成code128条形码的方法详解
2017/07/19 PHP
js去字符串前后空格5种实现方法及比较
2013/04/03 Javascript
Extjs中ComboBoxTree实现的下拉框树效果(自写)
2013/05/28 Javascript
jquery中prop()方法和attr()方法的区别浅析
2013/09/06 Javascript
为jQuery添加Webkit的触摸的方法分享
2014/02/02 Javascript
javascript异步编程的4种方法
2014/02/19 Javascript
jquery数组过滤筛选方法grep()简介
2014/06/06 Javascript
jquery+ajax验证不通过也提交表单问题处理
2014/12/12 Javascript
ECMAScript6中Map/WeakMap详解
2015/06/12 Javascript
Node.js操作Firebird数据库教程
2016/03/04 Javascript
Bootstrap学习笔记之css样式设计(1)
2016/06/07 Javascript
JS中如何比较两个Json对象是否相等实例代码
2016/07/13 Javascript
jQuery Ajax使用FormData对象上传文件的方法
2016/09/07 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
2020/11/24 Javascript
讲解vue-router之什么是动态路由
2018/05/28 Javascript
vue-image-crop基于Vue的移动端图片裁剪组件示例
2018/08/28 Javascript
js字符串倒序的实例代码
2018/11/30 Javascript
VUE引入第三方js包及调用方法讲解
2019/03/01 Javascript
js的Object.assign用法示例分析
2020/03/05 Javascript
Vue实现todo应用的示例
2021/02/20 Vue.js
python批量修改文件后缀示例代码分享
2013/12/24 Python
实例讲解Python中的私有属性
2014/08/21 Python
python实现unicode转中文及转换默认编码的方法
2017/04/29 Python
学习python分支结构
2019/05/17 Python
Python可以实现栈的结构吗
2020/05/27 Python
朗仕(Lab series)英国官网:雅诗兰黛集团男士专属护肤品牌
2017/11/28 全球购物
专业实习自我鉴定
2013/10/29 职场文书
市场营销专业毕业生自荐信
2013/11/02 职场文书
历史学专业求职信
2014/06/19 职场文书
音乐教育专业自荐信
2014/09/18 职场文书
如何更改Win11声音输出设备?Win11声音输出设备四种更改方法
2022/04/08 数码科技