De retour d'un tuple plusieurs objets dans l'API Python C
-
29-09-2019 - |
Question
Je suis en train d'écrire une fonction native qui renverra plusieurs objets Python
PyObject *V = PyList_New(0);
PyObject *E = PyList_New(0);
PyObject *F = PyList_New(0);
return Py_BuildValue("ooo", V, E, F);
Cette compile bien, cependant, quand je l'appelle d'un programme Python, je reçois une erreur:
SystemError: format incorrect ombles passé à Py_BuildValue
Comment cela peut-il être fait correctement?
EDIT: Les travaux suivants
PyObject *rslt = PyTuple_New(3);
PyTuple_SetItem(rslt, 0, V);
PyTuple_SetItem(rslt, 1, E);
PyTuple_SetItem(rslt, 2, F);
return rslt;
Cependant, n'est pas là un moyen plus court pour le faire?
La solution
Je pense qu'il veut O majuscule? "OOO"
, pas "ooo"
.
Autres conseils
Cython .
return V, E, F
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow