将c变量传递给python并返回

时间:2015-03-12 11:59:32

标签: python c pyobject

我正在使用PyObject功能调用c函数和

return Py_BuildValue("theTypeToConvert", myCVariable);

将东西返回到我的python程序,这一切都正常。

但是我有一个自定义C类型

extern HANDLE pascal

如何将此实例传递回python,以便稍后将其提供给其他c函数,我能想到的最接近的是使用

Py_BuildValue("O&", etc)

但这显然会破坏变量,因为我后来没有得到正确的结果。

1 个答案:

答案 0 :(得分:0)

如果我正确理解你希望对象从Python的角度来看是“不透明的”,也就是说你只能在Python中传递但不能对它所指向的对象进行操作的指针值,那么你可能会在胶囊对象。

关于胶囊的官方Python文档: https://docs.python.org/2/c-api/capsule.html#capsules

另见: Passing a C pointer around with the Python/C API