天天看點

python doc_Python文檔生成工具pydoc使用介紹

在Python中有很多很好的工具來生成字元串文檔(docstring),比如說: epydoc、doxygen、sphinx,但始終覺得pydoc還是不錯的工具,用法非常簡單,功能也算不錯,本文主要介紹pydoc.

pydoc是Python自帶的子產品,主要用于從python子產品中自動生成文檔,這些文檔可以基于文本呈現的、也可以生成WEB 頁面的,還可以在伺服器上以浏覽器的方式呈現!

【用法】

Windows下:

D:\>python -m pydoc # 比如說: python -m pydoc math

-m參數:Python以腳本的方法運作子產品

Linux/Unix下:

$ pydoc # 比如說: pydoc

【幫助】

$ pydoc -h

pydoc - the Python documentation tool

pydoc ...

Show text documentation on something. 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 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

Search for a keyword in the synopsis lines of all available modules.

pydoc -p

Start an HTTP server on the given port on the local machine.

pydoc -w ...

Write out the HTML documentation for a module to a file in the current

directory. If 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 doc_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 doc_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

'''

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

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 doc_Python文檔生成工具pydoc使用介紹