求教高手:C++调Python怎么传不定数量的参数

HisinWang 2011-05-24 11:05:54
现在做一项目中需要用到C++调Python,Python又需要用C++扩展
但是现在遇到一个很棘手的问题
怎样在C++调Python时传不定数量的参数
参数形式基本上是这样的:尺寸名:尺寸值 尺寸名为字符串,尺寸值为浮点型
如:Length 30 Height 50 Width 52
但每一个标准件的尺寸数是不固定 具体的信息都是从数据库中读的
不知道怎么传 ? 望高手指点 不甚感激

本来想用:
PyObject* pArgs=PyTuple_New(1);
PyTuple_SetItem(pArgs,0,Py_BuildValue("{s:i,s:i}","Length", 150, "Width", 250));
但这在尺寸数固定是好办 但不固定时就不好办了
不知道能否通过循环一个一个加进去?????找了2天也找不到啊
...全文
144 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
HisinWang 2011-05-25
  • 打赏
  • 举报
回复
这个已经搞定了
用Py_DictNew
再用PyDict_SetItemString

谢谢啦
angel_su 2011-05-25
  • 打赏
  • 举报
回复
运行时才知到的 不能Py_BuildValue吧。建字典就调用PyDict_xxx函数,做好后再放到你这个tuple里。或者有成块连续数据可试试Py_VaBuildValue...

37,722

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧