pydoc-文档生成器和在线帮助系统

源代码: Lib/pydoc.py


pydoc模块自动从 Python 模块生成文档。该文档可以在控制台上以文本页面的形式呈现,提供给 Web 浏览器或保存为 HTML 文件。

对于模块,类,函数和方法,显示的文档是从对象的文档字符串(即__doc__属性)派生的,并递归其可记录成员的成员。如果没有文档字符串,则pydoctry从 Comments 行的块中获取描述,该 Comments 行位于源文件中的类,函数或方法的定义上方,或者位于模块顶部(请参见inspect.getcomments())。

内置函数help()调用交互式解释器中的联机帮助系统,该系统使用pydoc在控制台上以文本形式生成其文档。pass在 os 的命令提示符下将 pydoc 作为脚本运行,也可以从 Python 解释器外部查看相同的文本文档。例如,Running

pydoc sys

在 shell 提示符下,将以类似于 Unix man 命令显示的手册页的样式在sys模块上显示文档。 pydoc 的参数可以是函数,模块或包的名称,也可以是对包中模块或模块内的类,方法或函数的点分引用.如果 pydoc **的参数看起来像一个路径(也就是说,它包含您的 os 的路径分隔符,例如 Unix 中的斜线),并且引用了现有的 Python 源文件,那么将为此生成文档文件。

Note

为了找到对象及其文档,pydoc导入要记录的模块。因此,此时将执行模块级别的任何代码。仅当将文件作为脚本调用而不仅仅是导入时,才使用if __name__ == '__main__':保护符来执行代码。

当将输出打印到控制台时, pydoc try对输出进行分页以便于阅读。如果设置了 PAGER环境变量,则 pydoc 会将其值用作分页程序。

在参数前指定-w标志将导致 HTML 文档被写到当前目录中的文件中,而不是在控制台上显示文本。

在参数之前指定-k标志将以与 Unix man 命令类似的方式在所有可用模块的提要行中搜索作为参数给出的关键字。模块的概要行是其文档字符串的第一行。

您还可以使用 pypydoc 在本地计算机上启动 HTTP 服务器,该 HTTP 服务器将为访问 Web 浏览器的文档提供服务。 pydoc -p 1234 将在端口 1234 上启动 HTTP 服务器,使您可以使用首选的 Web 浏览器在http://localhost:1234/上浏览文档。指定0作为端口号将选择任意一个未使用的端口。

**pydoc -n ** 将启动服务器以给定的主机名进行侦听。默认情况下,主机名是“ localhost”,但是如果要从其他计算机访问服务器,则可能需要更改服务器响应的主机名。在开发过程中,如果要从容器中运行 pydoc,这将特别有用。

pydoc -b 将启动服务器,并另外打开 Web 浏览器以访问模块索引页面。每个投放的页面的顶部都有一个导航栏,您可以在其中获得有关单个项目的帮助,在所有内容摘要行中用关键字搜索所有模块,然后转到模块索引主题关键字页。

当 pydoc 生成文档时,它将使用当前环境和路径来查找模块。因此,调用 pydoc spam 会精确地记录您启动 Python 解释器并键入import spam时将获得的模块版本。

假定核心模块的模块文档位于https://docs.python.org/X.Y/library/中,其中XY是 Python 解释器的主要和次要版本号。pass将 PYTHONDOCS环境变量设置为其他 URL 或包含“Library 参考手册”页面的本地目录,可以覆盖此设置。

在版本 3.2 中更改:添加了-b选项。

在版本 3.3 中更改:删除了-g命令行选项。

在版本 3.4 中进行了更改:pydoc现在使用inspect.signature()而不是inspect.getfullargspec()从可调用对象中提取签名信息。

在 3.7 版中进行了更改:添加了-n选项。