PyRun_SimpleString: return Wert speichern

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Francesco
User
Beiträge: 824
Registriert: Mittwoch 1. Dezember 2004, 12:35
Wohnort: Upper Austria

um mein Modul vom aktuellen Verzeichnis zu laden, muss ich mein momentanes Verzeichnis finden.

Vielleicht oder wahrscheinlich gehts in C sowieso leicher, aber wie ginge der Aufruf in Python?

Code: Alles auswählen

PyRun_SimpleString("import os; return os.getcwd()");
Die entscheidende Frage ist, wie kann ich auf diesen Returnwert (os.getcwd() zugreifen)? Oder ist die Funktion falsch?
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Ungetestet:

Code: Alles auswählen

PyObject* modul = PyImport_ImportModule("os");
PyObject* function = PyObject_GetAttrString(modul, "getcwd");
PyObject* directory = PyObject_CallObject(function, NULL);
Fehlerbehandlung müsste auch noch ergänzt werden.
MfG
HWK
Francesco
User
Beiträge: 824
Registriert: Mittwoch 1. Dezember 2004, 12:35
Wohnort: Upper Austria

Danke, die Doku auf Python.org hat mich mit ihrer Länge (bei diesem Themengebiet) richtig abgeschreckt. ;)
Antworten