Chr*_*ris 2 python dll ctypes docstring
我正在尝试从 Windows dll 创建一堆 python 函数,并且希望将文档字符串附加到每个新函数。
我当前的代码:
import ctypes
lib=ctypes.WinDLL('example.dll')
VCS_OpenDevice=lib['VCS_OpenDevice']
VCS_OpenDevice.restype=ctypes.c_double
Run Code Online (Sandbox Code Playgroud)
当我在解释器中运行此脚本并尝试使用该函数时,我收到“无文档字符串”消息。
不知道在那里添加什么东西。任何帮助表示赞赏。

分配给函数指针__doc__的属性ctypes:
VCS_OpenDevice.__doc__ = 'My docstring'
Run Code Online (Sandbox Code Playgroud)
__doc__是 Python 对象的文档字符串属性,ctypes对象允许您写入此属性。
强制性的libc演示(我使用的是Mac,不是Windows,但原理是一样的):
>>> from ctypes import *
>>> libc = cdll.LoadLibrary("libc.dylib")
>>> libc.time.__doc__ = 'time -- get time of day'
>>> print libc.time.__doc__
time -- get time of day
Run Code Online (Sandbox Code Playgroud)
IPython 似乎能够很好地识别这一点:
In [4]: libc.time?
Type: _FuncPtr
String Form:<_FuncPtr object at 0x1054b8ef0>
File: /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/ctypes/__init__.py
Docstring: time -- get time of day
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
695 次 |
| 最近记录: |