如何解决类型提示和ctypes外部函数
如何键入用Python的ctypes
定义的外部函数?
我是否需要重复restype
和argtypes
属性中提供的信息?还是有一种方法可以使mypy以某种方式理解属性?
例如,给定此功能定义:
# Original function definition:
libopus.opus_encode.restype = opus_int32
libopus.opus_encode.argtypes = [oe_p,opus_int16_p,c_int,c_uchar_p,opus_int32]
def opus_encode(st,pcm,frame_size,data,max_data_bytes):
return libopus.opus_encode(st,max_data_bytes)
手动复制类型信息的最佳方法是吗?
# Duplicated type specification:
libopus.opus_encode.restype = opus_int32
libopus.opus_encode.argtypes = [oe_p,opus_int32]
def opus_encode(st: oe_p,pcm: opus_int16_p,frame_size: c_int,data: c_uchar_p,max_data_bytes: opus_int32) -> opus_int32:
return libopus.opus_encode(st,max_data_bytes)
还是有更好的方法?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。