如何在C中使用pyarg_parsetuple设置多个参数?

问题描述 投票:2回答:2

如何使用多个参数设置PyArg_ParseTuple函数?

python c
2个回答
1
投票

这是一个例子:

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文档中找到。

Parsing arguments and building values


0
投票

使用以下代码获取所有参数

  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);
  }
© www.soinside.com 2019 - 2024. All rights reserved.