2011-06-01 37 views
1

我在我的C应用程序中嵌入并扩展了python,现在我想记录下这个。我已经使用C API定义了一个模块,因此pydoc工具将不会看到它(对吧?)。记录由C API生成的Python模块的最佳方式是什么?

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

喜欢的东西(把我的头顶部):

import pydoc 
import sys 

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

有没有更好的办法?

回答

0

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

但是,pydoc导入模块并使用自省为模块生成文档,因此如果您在编译模块上运行它,它仍然可以工作。关键是它没有看到来源。

+0

那么我的编译模块(你的意思是.pyc吧?)?该模块在C运行时在py.o目标文件中定义。 – 2011-06-01 11:05:25

+0

以下是代码:https://github.com/vext01/hgd/blob/py/py.c。该模块由hgd_init_hgd_mod()初始化。 – 2011-06-01 11:07:45

相关问题