Seite 1 von 1
Module in C: Booleans mit Py_BuildValue()?
Verfasst: Freitag 10. November 2006, 15:38
von Rebecca
Ich schreibe gerade ein Python-Modul in C. Mit
Py_BuildValue gebe ich Python-Objekte zurueck,
hier steht ja, wie ich damit die unterschiedlichen Datentypen von Python erzeugen kann. Ich finde aber nirgends, wie ich
True oder
False erzeugen kann...
Weiss da jemand bescheid?
Verfasst: Freitag 10. November 2006, 17:28
von birkenfeld
Gar nicht. Du wirst wohl den Platz mit etwas anderem füllen müssen, die Stelle wieder decrefen und mit PyTuple_SetItem auf Py_True/Py_False setzen.
Verfasst: Freitag 10. November 2006, 17:37
von birkenfeld
Ein eleganterer Weg wäre eine Converterfunktion:
Code: Alles auswählen
PyObject *
to_bool(int val) {
if (int) Py_RETURN_TRUE;
Py_RETURN_FALSE;
}
res = Py_BuildValue("O&", to_bool, 1);
Verfasst: Freitag 10. November 2006, 18:41
von Rebecca
birkenfeld, die zweite Version gefaellt mir gut. Danke!