PyTuple_Pack,它接受可变数量的参数

时间:2013-11-18 07:48:12

标签: c++ python

我使用的是Python 2.6.6&从c ++调用python。

我如何编写PyTuple_Pack,它接受可变数量的参数。

我有变量参数,我使用for循环并填充我的数组。我的数组最多有1000个元素,但我只使用

填充顶部的no_of_argument元素
python_obj[i] = PyString_FromString(arg[i])

我不想写像

这样的代码
if(no_of arg ==1 )
    return  PyTuple_Pack(1, python_obj[0]);
if(no_of arg ==2 )
    return  PyTuple_Pack(2, python_obj[0],python_obj[1]);

我想要类似的东西      返回PyTuple_Pack(no_of_args,然后是我的数组,其中存在pyobjects;

在网上,我可以看到http://docs.python.org/release/2.4.4/whatsnew/node14.html

A new function, PyTuple_Pack(N, obj1, obj2, ..., objN), constructs tuples from a variable length argument list of Python objects. (Contributed by Raymond Hettinger.)

然而,在我的搜索中找不到使用上面编写好代码的示例,我需要你的帮助。

1 个答案:

答案 0 :(得分:1)

使用PyTuple_New创建一个具有正确大小的元组,然后遍历数组并使用PyTuple_SetItem为元组填充值。