如何使用多个参数设置PyArg_ParseTuple
函数?
这是一个例子:
const char *field = 0; PyObject *value; int typeField; size_t size = 0;
if (!PyArg_ParseTuple(args, "isO|n", &typeField, &field, &value, &size)) {
return 0;
}
当然,第二个参数中的字符必须对应于传递指针的C类型。
顺便说一句。 size
是一个可选参数。
一个完整的文档。关于PyArg_ParseTuple()
可以在Python文档中找到。
使用以下代码获取所有参数
vector<PyObject*> objects;
int argc = PyTuple_GET_SIZE(args);
objects.resize(argc);
for (int i=0; i<argc ; i++) {
objects[i] = PyTuple_GET_ITEM(args, i);
}