如何處理,返回多個列表調用Python腳本
Python腳本Python函數:
display():
a = [ 'a','b','abc']
b = [ 1 , 2 , 3]
return [a,b]
C函數調用上述Python函數的代碼片段:
pValue,pValue1 = PyObject_CallObject(pFunc, pArgs);
這是調用函數的正確方法嗎? 但是,我不能使用這些對象來提取列表值。 我在做什麼錯?
如何處理,返回多個列表調用Python腳本
Python腳本Python函數:
display():
a = [ 'a','b','abc']
b = [ 1 , 2 , 3]
return [a,b]
C函數調用上述Python函數的代碼片段:
pValue,pValue1 = PyObject_CallObject(pFunc, pArgs);
這是調用函數的正確方法嗎? 但是,我不能使用這些對象來提取列表值。 我在做什麼錯?
PyObject *ret;
ret=PyObject_CallObject(pFunc,pArgs);
PyObject *ob1,*ob2;
PyArg_ParseTuple(ret,"oo",ob1,ob2); //o-> pyobject |i-> int|s-> char*
這就是你是如何做到的。
我試過這個,但它不適用於我 – marvel 2012-08-13 16:03:08
我試過這個,但它不適用於我。 這就是當我運行我的程序時得到的結果:異常exceptions.SystemError:'新樣式getargs格式但參數不是元組'''垃圾回收'忽略 – marvel 2012-08-13 16:05:34
即使我對此沒有清楚的想法。我很久以前就和他合作過。嘗試將返回封裝在元組中,以便該指令可以工作。 類似於: return((a,b))#現在返回將是一個元組 否則,請在python文檔中查找參數解析。實現函數調用和參數解析有兩種以上的不同方式。 – 2012-08-13 16:08:24
所有的Python函數/方法都返回一個'東西',但'東西'可以是'容器'。你不斷詢問如何返回多個列表;你想要做的是返回一個元組,或者一個包含你想返回的'多個列表'的列表。然後,在調用代碼中,訪問元組或列表的元素以獲得要返回的「多個列表」。
謝謝。我會嘗試返回一個包含多個列表的列表。 – marvel 2012-08-14 16:12:56
in python'return(a,b)'返回一個元組。一個單一的對象。在C中,你試圖讀取結果,就好像它是2個對象一樣。請嘗試返回'[a,b]'。因爲列表比我想象的元組更容易處理。我的c很生鏽。 – 2012-08-13 15:44:23
示例是無效的Python代碼。 – 2012-08-13 15:46:02
C劑量做多個返回我的朋友。 – 2012-08-13 15:55:24