我正在编写一个本机函数,它将返回多个Python对象
PyObject *V = PyList_New(0);
PyObject *E = PyList_New(0);
PyObject *F = PyList_New(0);
return Py_BuildValue("ooo", V, E, F);
但是,当我从Python程序调用它时,会得到一个错误:
SystemError: bad format char passed to Py_BuildValue
如何才能正确地做到这一点?
编辑: 以下工作
PyObject *rslt = PyTuple_New(3);
PyTuple_SetItem(rslt, 0, V);
PyTuple_SetItem(rslt, 1, E);
PyTuple_SetItem(rslt, 2, F);
return rslt;
然而,有没有一个更短的方法来做到这一点呢?
使用Cython。
我想它需要大写字母O?
"OOO"
,而不是"ooo"
。相关问题 更多 >
编程相关推荐