如何访问传递给C ++的python类对象中的数据成员?

时间:2015-07-15 14:18:59

标签: python c++ python-extensions

假设我有一个python类对象:

class A:
    pass

o = A() 
o.a=8 # or any data type such as numpy arrays

我希望将该python对象传递给C ++扩展:

import cpp_lib

cpp_lib.run(o)

从C ++方面,我想访问python对象的成员:

static
PyObject *run(PyObject *self, PyObject *args)
{
    PyObject * python_object;

    if (!PyArg_ParseTuple(args, "O", &python_object))
    {   
        std::cerr<<"Error parsing python_object from python to cpp extension"<<std::endl;
        return Py_None;
    }   

    // std::cout<<python_object.a<<endl;

    return Py_None;
}

python对象成员可能是一个numpy数组。

注意:Cython不是一个选项。

0 个答案:

没有答案