在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/,效果如图:
【参数 -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
D:\Learn\Python>python -m pydoc math -w math.html # math是模块名,-w:写
那么在D:\Learn\Python目录下会生成math.html文件,显示如下:
因为是自带的模块,所以右上角显示(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'
Bootstrap 在 CSS 方面采用 Grunt,用 JavaScript 构建系统,用 Jekyll 做记录。Gruntfile 在使用框架方面有许多便利的特点,包括编译代码、运行测试等等。 工具安装 为了使用Gruntfile以及本地运行我们的文档,你需要拷贝一份Bootstrap的源文件,还有Node.js以及Grunt。参照下面的步骤,你应该已经准备好开始动手了: 下载并安装 Node
Yaf提供了代码生成工具yaf_code generator, 所以也可以通过使用代码生成工具yaf_cg来完成这个简单的入门Demo 例 3.10. 代码生成工具的使用 php-yaf-src/tools/cg/yaf_cg sample 将得到的sample目录, 拷贝到Webserver的documentRoot目录下然后访问: 例 3.11. 在浏览器输入 http://www.y
Sphinx简单来说,是一个文档生成工具,用于把reStructuredText 格式的源文件生成诸如HTML, PDF, LaTex一类的格式。编辑者无须亲自处理文本的格式, 程序会自动根据源文件里的设置产生格式, 以及自动生成章节链接等工作。 和 DocBook一样,Sphinx可以看做是一个把文本格式处理和文字编辑分开的工具。举个例子来说吧,大家一定都曾有过上学时用Word痛苦地修改论文 的
问题内容: 是否有一个工具将Java文件作为参数,该文件将REST服务描述为参数并从中生成wadl文件。 问题答案: 我遇到了同样的问题:使用RESTeasy并想找到一种自动生成WADL的方法。 做了一些研究,得出下面的解决方案。 注意和元素。您必须更改它们以反映项目的配置。您可能还想更改插件的版本(我使用的是1.17)。 2.创建一个/ doc文件夹并添加一些文件。 创建文件夹并在下面创建两个文
我正在使用docbook工具链创建一个pdf文档。我遵循以下格式引用此链接http://www.stevestreeting.com/2010/03/07/building-a-new-technical-documentation-tool-chain/ 1]有一个包含所有内容的文本文件 2] 使用 asciidoc.py 将此文本文件转换为 XML 文件 3]使用生成的xml文件并参考docb
我在一个带注释的对象中有几个枚举,如: 其中枚举定义为: 使用Openapi3,我可以生成一个swagger文档。我的问题是,和,翻译方式不同,如: 我希望< code>Enum2与< code>Enum1一样被记录,因此具有实际的枚举值。有什么方法可以强制这样做,或者解释为什么会这样?两个枚举基本上与示例中的相同。