python - 如何定义 "MODULE DOCS"以便用 pydoc 显示?

标签 python module pydoc

某些 Python 模块(例如 mathsys)的 pydoc 文档有一个“MODULE DOCS”部分,其中包含一些 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中......任何帮助将不胜感激!

最佳答案

查看pydoc模块的代码后,我认为“MODULE DOCS”链接仅适用于标准模块,不适用于自定义模块。

相关代码如下:

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 被解释为空的“MODULE DOCS”部分。

关于python - 如何定义 "MODULE DOCS"以便用 pydoc 显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3078735/

相关文章:

Python pydoc 用于 python 包

python - 如何查找文本文件中某个字符串出现的次数?

python - 如何提高 python 绘图的速度?

Maven:不可解析的父 POM

python - 如何让 pydoc 命令在 Windows 中工作?

python - 为什么 numpy 在导入和 pydoc 时给出 "segmentation fault"?

python - 使用查询集从 Django 获取百万记录很慢

python - pandas.isin() 函数对于值为 'None' Python 2.7 的单元格返回 True

linux - 从 Linux 内核模块执行 copy_to_user 时出现 "Bad Address"错误

python - re.search()和群组无法以与正常格式相同的文件格式工作。 python