在python中调用C实现的模块,想在python和C之间根据需要传递参数,但参数个数是不确定的,可以变化的。请问该如何实现?
现在看到的接口都是得确定参数个数,并且需要指定参数类型的,比如:
PyArg_ParseTuple(pTuple, "ifs" , &i, &f, &s)。
或者简化到,传递的参数类型是一致的,但是参数个数可变该如何实现?
比如说有时希望传递10个整数,下次希望传递20个参数?
在python中调用C实现的模块,想在python和C之间根据需要传递参数,但参数个数是不确定的,可以变化的。请问该如何实现?
现在看到的接口都是得确定参数个数,并且需要指定参数类型的,比如:
PyArg_ParseTuple(pTuple, "ifs" , &i, &f, &s)。
或者简化到,传递的参数类型是一致的,但是参数个数可变该如何实现?
比如说有时希望传递10个整数,下次希望传递20个参数?
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
2 回答2k 阅读✓ 已解决
传入可变参数时,用 PyTuple_Size() 获取参数个数,然后用 PyTuple_GetItem() 循环读取每个参数值,最后根据情况转换参数值。
请参考下面的代码