Frage

Ich schreibe eine native Funktion, die mehr Python-Objekte zurück

PyObject *V = PyList_New(0);
PyObject *E = PyList_New(0);
PyObject *F = PyList_New(0);

return Py_BuildValue("ooo", V, E, F);

Dieses compiliert in Ordnung, aber wenn ich es aus einem Python-Programm aufrufen, ich erhalte eine Fehlermeldung:

  

Systemerror: falsches Format char Py_BuildValue geben

Wie kann dies richtig getan werden?

EDIT: Die folgenden Werke

PyObject *rslt = PyTuple_New(3);
PyTuple_SetItem(rslt, 0, V);
PyTuple_SetItem(rslt, 1, E);
PyTuple_SetItem(rslt, 2, F);
return rslt;

ist jedoch nicht, dass es ein kürzerer Weg, dies zu tun?

War es hilfreich?

Lösung

Ich denke, es ist in Großbuchstaben O will? "OOO", nicht "ooo".

Andere Tipps

Verwenden Sie Cython .

return V, E, F
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top