但我想使用帮助()!!!!!!
因此,我没有赢得生活的不公平,而是创建了 help_support 模块,当导入该模块时,它将允许您在文档化的 ctypes 函数和结构上使用帮助。它还允许您记录额外的内容,例如 ctypes 函数参数的名称,它们也会显示出来。
https://pypi.org/project/help-support/0.2/
如果您正在制作 Python 绑定,则包括 help_support.py 并导入它,以允许像我这样的可怜的鞋底使用您的 lib 更快地开发。
真正的文档是 A 中的痛苦……我对原始的 Python 控制台很满意。
在通过从 C 扩展将 doc 字符串添加到我的函数中做了明显的事情之后,在 help() 中没有看到任何结果并且在互联网上找不到任何解决方案,我只是无法忍受这种情况。所以你来了。现在您可以对从 DLL 中提取的函数使用 help()(至少在 Python 2 中)。
这是一个例子:
# examp_module:
import ctypes
import ctypes.util
import help_support
del help_support # If you want you can remove it now
# to avoid cluttering your globals() namespace.
# Once it is called you do not usually need it any more.
l = ctypes.CDLL(ctypes.util.find_library("c"))
# Pull the time() function from libc,
# declare and document it:
time = l.time
time.argtypes = []
#time.argnames = ["c_void"] # The function takes no arguments, but you can trick help_support
# to show something in parenthesis if you want to be consistent with C
# If there is/are argument(s) you should put its/their name(s) in "argnames".
time.restype = ctypes.c_int
time.__doc__ = "Function that returns a system time in seconds."
-------------------------------------------
>>> # Usage:
>>> import examp_module
>>> help(examp_module)
>>> help(examp_module.time)
>>>