6

我正在使用 pydoc 模块来输出我用 C API 定义的某些类型的文档。在解释器嵌入到我的 C 程序中之前,我想要记录的类型不存在,所以我不能使用 pydoc 命令。

我让我的 C 代码调用一个执行以下操作的函数:

d = pydoc.HTMLDoc()
content = d.docmodule(sys.modules["mymodule"])

这可行,但会生成带有硬编码“文件:/”链接目标的 HTML 页面。有没有办法使用链接的相对路径?

(为更好地记录 C API 中定义的类型的方法加分)

4

2 回答 2

1

我认为Sphinx在这方面做得更好。以下是记录 C 域的方法:

http://www.sphinx-doc.org/en/master/usage/restructuredtext/domains.html#the-c-domain

于 2011-07-24T09:42:27.010 回答
0

不,根据源代码,链接来自文件路径并且不能被覆盖。

try:
   path = inspect.getabsfile(object)
   url = urllib.parse.quote(path)
   filelink = self.filelink(url, path)
except TypeError:
   filelink = '(built-in)'

https://github.com/python/cpython/blob/55d24edaadba4ee90f464d88b44075649788f128/Lib/pydoc.py#L751

于 2021-11-14T17:33:48.097 回答