habe mir schon den ganzen Tag die Finger wund getippt und nichts gefunden.
Ich will eine Python list von c aus an ein Python Skript übergeben.
Den Code für die list zu generieren habe ich gefunden und sieht so aus:
Code: Alles auswählen
static PyObject * IntArrayM_ToPyList(double *array,int m){
PyObject *plist, *entry;
int i;
if(!(plist=PyList_New(0))) return NULL;
for(i=0;i<m;i++){
entry=Py_BuildValue("d",array[i]);
if(!entry) return NULL;
PyList_Append(plist,entry);
}
return plist;
}
Wie müsste ich den jetzt daran gehen??
Edit:
auszug der main
Code: Alles auswählen
Py_Initialize();
PySys_SetPath("/home/user");
modul = PyImport_ImportModule("berechnen");
pyarray=IntArrayM_ToPyList(werte,10);
if(modul){
// funk = PyObject_GetAttrString(modul, "entscheide"); edit:
funk = PyObject_GetAttrString(modul, "ausgeben");
ret = PyObject_CallObject(funk, pyarray);
Py_DECREF(pyarray);
Py_DECREF(ret);
Py_DECREF(funk);
Py_DECREF(modul);
}
Py_Finalize();
Code: Alles auswählen
def ausgeben(a):
for i in a:
print a
P.S.: Einzelne Werte bekomme ich übergeben