Volviendo una tupla de varios objetos en Python C API
-
29-09-2019 - |
Pregunta
Estoy escribiendo una función nativa que devolverá múltiples objetos Python
PyObject *V = PyList_New(0);
PyObject *E = PyList_New(0);
PyObject *F = PyList_New(0);
return Py_BuildValue("ooo", V, E, F);
Esta bien compila, sin embargo, cuando la llamo desde un programa en Python, me sale un error:
SystemError: mala formato de carbón pasó a Py_BuildValue
¿Cómo se puede hacer esto correctamente?
EDIT: Las siguientes obras
PyObject *rslt = PyTuple_New(3);
PyTuple_SetItem(rslt, 0, V);
PyTuple_SetItem(rslt, 1, E);
PyTuple_SetItem(rslt, 2, F);
return rslt;
Sin embargo, no hay un camino más corto para hacer esto?
Solución
Creo que quiere mayúscula O? "OOO"
, no "ooo"
.
Otros consejos
Cython .
return V, E, F
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow