Python 如何界定「;模块文档“;用于与pydoc一起显示?

Python 如何界定「;模块文档“;用于与pydoc一起显示?,python,module,pydoc,Python,Module,Pydoc,一些Python模块(如math和sys)的pydoc文档有一个“模块文档”部分,其中包含指向一些HTML文档的有用链接: Help on module math: NAME math FILE /sw/lib/python2.6/lib-dynload/math.so MODULE DOCS /sw/share/doc/python26/html/math.html 如何将此类部分包含在您自己的模块中 更一般地说,有没有一个地方可以记录pydoc识别的变量 我无

一些Python模块(如
math
sys
)的pydoc文档有一个“模块文档”部分,其中包含指向一些HTML文档的有用链接:

Help on module math:

NAME
    math

FILE
    /sw/lib/python2.6/lib-dynload/math.so

MODULE DOCS
    /sw/share/doc/python26/html/math.html
如何将此类部分包含在您自己的模块中

更一般地说,有没有一个地方可以记录pydoc识别的变量


我无法在源代码中找到这一点,因为
math
模块是一个共享库,在我的机器(OS X)上,
sys
模块是用Python构建的……任何帮助都将不胜感激

模块文档可能是最重要的。这是出现在模块顶部的纯文本(或)字符串。这里有一个例子

"""
Module documentation.
"""

def bar():
    print "HEllo"
这是针对纯Python模块的


对于已编译的扩展模块(如
math
),在初始化模块时,将模块docstring(作为Python字符串)作为第三个参数传递给
Py_InitModule3
。这将使该字符串成为模块docstring。您可以在数学模块的源代码中看到这一点。

查看了
pydoc
模块的代码后,我认为“模块文档”链接仅适用于标准模块,而不适用于自定义模块

以下是相关代码:

def getdocloc(self, object):
    """Return the location of module docs or None"""

    try:
        file = inspect.getabsfile(object)
    except TypeError:
        file = '(built-in)'

    docloc = os.environ.get("PYTHONDOCS",
                            "http://docs.python.org/library")
    basedir = os.path.join(sys.exec_prefix, "lib",
                           "python"+sys.version[0:3])
    if (isinstance(object, type(os)) and
        (object.__name__ in ('errno', 'exceptions', 'gc', 'imp',
                             'marshal', 'posix', 'signal', 'sys',
                             'thread', 'zipimport') or
         (file.startswith(basedir) and
          not file.startswith(os.path.join(basedir, 'site-packages'))))):
        if docloc.startswith("http://"):
            docloc = "%s/%s" % (docloc.rstrip("/"), object.__name__)
        else:
            docloc = os.path.join(docloc, object.__name__ + ".html")
    else:
        docloc = None
    return docloc

返回值None被解释为空的“模块文档”部分。

模块文档部分与模块的文档字符串不同。“PydocMath”展示了一个例子。你能粘贴一段内容吗?我在做
pydoc数学
时没有看到这样的部分。我在原始帖子中添加了
pydoc数学
在我的机器上产生的结果。