首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将C++字符串传递给Python

将C++字符串传递给Python
EN

Stack Overflow用户
提问于 2011-08-17 00:22:16
回答 1查看 1.9K关注 0票数 0

如何将字符串从C++传递给我的Python函数?我想在我的C++应用程序中获取字符串,并在Python语言中解析它

EN

回答 1

Stack Overflow用户

发布于 2012-09-23 09:58:14

首先初始化所有需要的变量。

代码语言:javascript
复制
Py_Initialize();
object  main_module = import("__main__");//boost::python objects
object  dictionary = main_module.attr("__dict__");

运行代码来创建一个变量,并设置一个初始值,然后在python中打印出来。

代码语言:javascript
复制
boost::python::exec("resultStr = 'oldvalue'", dictionary);
PyRun_SimpleString("print resultStr");//new value will reflect in python

从c++读取相同的变量。

代码语言:javascript
复制
boost::python::object resultStr = dictionary["resultStr"];//read value from python to c++
std::string &processedScript = extract<std::string>(resultStr);

上面的字典对象就像一个共享的地图。您可以从c++设置变量。然后检查来自python的新值。

代码语言:javascript
复制
dictionary["resultStr"] = "new value";//set the variable value
PyRun_SimpleString("print resultStr");//new value will reflect in python

祝你编码愉快。谢谢。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7081472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档