记录由 C API 生成的 Python 模块的最佳方式?
我已经在我的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不确定您如何使用 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.