某些 Python 模块(例如 math
和 sys
)的 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/