在Python C API中返回多元对象的元组
作者:互联网
我正在编写一个本机函数,它将返回多个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;
但是,难道没有更短的方法吗?
解决方法:
我认为它需要大写的O? “ OOO”,而不是“ ooo”.
标签:return,tuples,python-c-api,python 来源: https://codeday.me/bug/20191105/1998400.html