2013-12-21 37 views
2

我需要建立一個numpy的陣列到C++程序如何提高python的列表轉換的PyObject

bp::list py_points; 
// some code .... 

,並在我需要轉換py_points到的PyObject *類型來評估代碼的某些部分Python模塊

PyObject * point_array, * numpy, * ndarray; 
numpy = PyImport_ImportModuleNoBlock("numpy"); 
ndarray = PyObject_GetAttrString(numpy, "array"); 
point_array = PyEval_CallObject(ndarray,bp::extract<PyObject *>(py_points)); //error! 

誤差在這部分

bp::extract<PyObject *>(py_points) 

將提升python對象轉換爲PyObject的正確方法是什麼?

很多!

回答

3

你不能從boost :: python :: object中提取PyObject。對象類有一個成員ptr(),它返回了PyObject的下層。

相關問題