如何将PyObject转换为c ++数组?

时间:2018-12-05 10:19:11

标签: python c++ numpy python-c-api

我正在使用python-c绑定,因此遇到以下问题。在python类中,有一个名为mean的属性,它是形状(2,3)的numpy数组。如果pInstance是该类的PyObject *,我想做这样的事情:

PyObject* pMeans = PyObject_GetAttrString(pInstance,"means");
PyArrayObject* contig = (PyArrayObject*)PyArray_FromAny(pMeans,
PyArray_DescrFromType(NPY_DOUBLE),
    2, 3, NPY_ARRAY_CARRAY, NULL);

我得到的是ValueError:对于所需数组而言深度太小的对象。我还尝试了简单的转换:

PyArrayObject* contig = (PyArrayObject*)pMeans;

进行此转换的适当方式是什么?

0 个答案:

没有答案