如何处理,返回多个列表调用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