Как конвертировать расширенный список Python в PyObject

Мне нужно построить массив NumPy в C ++ программе

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)

Как правильно преобразовать объект Boost Python в PyObject?

большое спасибо!

3

Решение

Вы не можете извлечь PyObject из boost :: python :: object. Класс объекта имеет член ptr (), который возвращает нижележащий PyObject.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]