我正在用Python为C库编写一个包装器。我试图正确地注释所有的方法,这样我的IDE就可以帮助我捕获错误。我被困在注释一个方法,你能帮我找出正确的注释吗?
C库中的一种方法的工作如下:
- Buffer is made via: `char_buffer = ctypes.create_string_buffer(16)`
- Done via `CMethod(char_buffer)`
然后,通过执行类似于char_buffer.value
的操作来解析缓冲区。
如何注释包装器方法以查找指向字符缓冲区的指针?目前,我有以下内容,但我认为这是不正确的,因为POINTER
似乎只是_ctypes.py
中的一个函数。
from ctypes import POINTER
def wrapped_method(char_buffer: POINTER):
CMethod(char_buffer)
发布于 2019-07-19 21:03:27
此函数创建一个可变字符缓冲区。返回的对象是字符的ctype数组。
示例:
导入ctype >>> >>> CharArr16 = ctypes.c_char * 16 >>> s= ctypes.create_string_buffer(16) >>> >>> isinstance(s,CharArr16) True >>> isinstance(s,ctypes.c_char * 15) False >>> isinstance(s,ctypes.c_char * 17) False >>> >>> #A更通用的表单,但对于非数组实例(s,s._type_ * >>> ) True CharArr16#一个更通用的形式.issubclass(,) True isinstance(s,( ctypes.Array)真
https://stackoverflow.com/questions/57084381
复制相似问题