记录由 C API 生成的 Python 模块的最佳方式?

发布于 2024-11-13 01:27:27 字数 354 浏览 3 评论 0原文

我已经在我的 C 应用程序中嵌入并扩展了 python,现在我想记录下来。我已经使用 C API 定义了一个模块,因此 pydoc 工具将看不到它(对吗?)。

到目前为止,我能想到的最好方法是在运行时在我的模块上使用“pydoc”模块(因此我定义的扩展模块将存在)。这应该允许我为我的 API 输出 HTML 和文本版本的文档。

就像(从我的脑海中浮现出来的):

import pydoc
import sys

d = pydoc.HTMLDoc()
print(d.page("my api", d.docmodule(sys.modules["mymodule"])))

有更好的方法吗?

I have embedded and extended python inside my C application and I now want to document this. I have defined a module using the C API, therefore pydoc tool will not see it (right?).

Thus far the best way I can think is to use the 'pydoc' module on my module at runtime (therefore the extension module I defined will be present). This should allow me to spit out HTML and text versions of docs for my API.

Something like (off the top of my head):

import pydoc
import sys

d = pydoc.HTMLDoc()
print(d.page("my api", d.docmodule(sys.modules["mymodule"])))

Is there a better way?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

GRAY°灰色天空 2024-11-20 01:27:27

我不确定您如何使用 C-API(因为您刚刚说过您已在 C 应用程序中嵌入并扩展了 Python)。

但是,pydoc 导入一个模块并使用内省来生成该模块的文档,因此如果您在编译的模块上运行它,它仍然可以工作。关键是它不看源码。

I'm not sure exactly how you've use the C-API (since you've just said that you've embedded and extended Python in your C application).

However, pydoc imports a module and uses introspection to generate documentation for the module so if you run it on your compiled module, it will still work. The point is that it doesn't look at the source.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文