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 ElementTree 基本读操作示例
Apr 09 Python
Python基于scrapy采集数据时使用代理服务器的方法
Apr 16 Python
使用httplib模块来制作Python下HTTP客户端的方法
Jun 19 Python
django在接受post请求时显示403forbidden实例解析
Jan 25 Python
解决PyCharm的Python.exe已经停止工作的问题
Nov 29 Python
Tensorflow实现在训练好的模型上进行测试
Jan 20 Python
Tensorflow 1.0之后模型文件、权重数值的读取方式
Feb 12 Python
Python类和实例的属性机制原理详解
Mar 21 Python
在TensorFlow中实现矩阵维度扩展
May 22 Python
python支持多继承吗
Jun 19 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
Jan 27 Python
python爬取某网站原图作为壁纸
Jun 02 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中FTP函数ftp_connect、ftp_login与ftp_chmod用法
2014/11/18 PHP
Yii配置文件用法详解
2014/12/04 PHP
PHP给文字内容中的关键字进行套红处理
2016/04/12 PHP
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
2007/04/01 Javascript
jQuery 瀑布流 绝对定位布局(二)(延迟AJAX加载图片)
2012/05/23 Javascript
JavaScript中的style.cssText使用教程
2014/11/06 Javascript
在JavaScript中访问字符串的子串
2015/07/07 Javascript
jquery validate表单验证的基本用法入门
2016/01/18 Javascript
js与applet相互调用的方法
2016/06/22 Javascript
js图片放大镜效果实现方法详解
2020/10/28 Javascript
详解axios在node.js中的post使用
2017/04/27 Javascript
全新打包工具parcel零配置vue开发脚手架
2018/01/11 Javascript
Vue 换肤的示例实践
2018/01/23 Javascript
JavaScript实现微信号随机切换代码
2018/03/09 Javascript
javaScript中&quot;==&quot;和&quot;===&quot;的区别详解
2018/03/16 Javascript
vue-cli3环境变量与分环境打包的方法示例
2019/02/18 Javascript
vue2.0自定义指令示例代码详解
2019/04/25 Javascript
vue遍历对象中的数组取值示例
2019/11/07 Javascript
JS异步宏队列与微队列原理区别详解
2020/07/02 Javascript
使用IronPython把Python脚本集成到.NET程序中的教程
2015/03/31 Python
实例讲解Python爬取网页数据
2018/07/08 Python
python打印直角三角形与等腰三角形实例代码
2019/10/20 Python
分享一个页面平滑滚动小技巧(推荐)
2019/10/23 HTML / CSS
Aquatalia官网:意大利著名鞋履品牌
2019/09/26 全球购物
如何提高JDBC的性能
2013/04/30 面试题
机关财务管理制度
2014/01/17 职场文书
喝酒检查书范文
2014/02/23 职场文书
专科应届毕业生求职信
2014/06/04 职场文书
群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
鲁冰花观后感
2015/06/10 职场文书
2016特色励志班级口号
2015/12/24 职场文书
2016创先争优活动党员公开承诺书
2016/03/24 职场文书
大学生党员暑假实践(活动总结)
2019/08/21 职场文书
python 爬取吉首大学网站成绩单
2021/06/02 Python
Java 超详细讲解数据结构中的堆的应用
2022/04/02 Java/Android
《艾尔登法环》发布最新「战技」宣传片
2022/04/03 其他游戏