Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
记录由C API生成的Python模块的最佳方法是什么?_Python_C_Api - Fatal编程技术网

记录由C API生成的Python模块的最佳方法是什么?

记录由C API生成的Python模块的最佳方法是什么?,python,c,api,Python,C,Api,我已经在我的C应用程序中嵌入和扩展了python,现在我想记录一下。我已经使用C API定义了一个模块,因此pydoc工具不会看到它(对吗?) 到目前为止,我认为最好的方法是在运行时在我的模块上使用“pydoc”模块(因此我定义的扩展模块将出现)。这应该允许我为我的API吐出HTML和文本版本的文档 比如(在我的脑海里): 有更好的方法吗?我不确定您是如何使用C-API的(因为您刚才说您已经在C应用程序中嵌入和扩展了Python) 但是,pydoc导入一个模块并使用内省为该模块生成文档,因此如果

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

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

比如(在我的脑海里):

有更好的方法吗?

我不确定您是如何使用C-API的(因为您刚才说您已经在C应用程序中嵌入和扩展了Python)


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

那么我的编译模块在哪里(你是说.pyc吧?)?该模块是在C运行时在py.o对象文件中定义的。以下是代码:。模块由hgd_init_hgd_mod()初始化。
import pydoc
import sys

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