我用C语言编写了一个python模块,它提供了一个类,包装了一个capi。C API有一些基本的访问器方法,我想在python类中作为属性呈现。例如,假设我有:
int libspam_get_eggs(spam_t *spam, int *eggs);
int libspam_set_eggs(spam_t *spam, int eggs);
我知道如何创建一个类CSpam,并向它添加get_eggs()和set_eggs()方法,但我希望将eggs作为一个属性。为了解决这个问题,我可以在对象周围放置一个python包装器:
^{pr2}$但如果可能的话,我想用C API做所有的事情。有办法吗?在
您正在查找^{} 和
PyGetSetDef
结构。在getter和setter函数的签名应该匹配
其中
closure
是PyGetSetDef
上的void*
集。在相关问题 更多 >
编程相关推荐