在C ++中访问已用Python包装的变量

时间:2012-08-01 10:47:59

标签: boost-python

如何通过BoostPython方法(如下所示我想访问y)访问C ++中已包含在Python中的变量:

boost::python::exec("y = x", main_namespace);

提前致谢。

编辑: 假设y是一个整数。

1 个答案:

答案 0 :(得分:1)

所有Python类,函数,变量等都包含在dicts中。由于您似乎已经拥有main_namespace字典,因此您可以这样做:

using namespace boost::python;

// .................................................

object y = main_namespace["y"];
std::string yString = extract<char const*>(y);