我正在从C++中调用Python,并尝试进行一些数据转换。
例如,如果我调用以下Python函数:
def getAMap():
data = {}
data["AnItem 1"] = "Item value 1"
data["AnItem 2"] = "Item value 2"
return data
从C++来看:
PyObject *pValue= PyObject_CallObject(pFunc, NULL);
其中pFunc是一个指向getAMap python函数的PyObject*。 为了清晰起见,设置pFunc的代码被省略了。
返回的指针pValue指向一个(以及其他内容)Python字典。 问题是,如何尽可能顺畅地将字典传递到C++端的std::map中?
我正在使用无法处理任何高级模板代码的C++ Builder bcc32编译器,如boost Python或C++11语法。
(由于python对象是字典而不是元组,所以更改了问题)