如何从c++调用python

How to call python from c++(如何从c++调用python)
本文介绍了如何从c++调用python的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Python新来者。我尝试这样从c++调用python脚本(在Raspberry PI中)。

std::string pythonCommand = "python Callee.py ""+a+"" "+b;
int res = system(pythonCommand.c_str());

运行后收到此消息。

python: can't open file 'Callee.py': [Errno 2] No such file or directory

但我可以使用命令行成功运行Callee.py,并且这两个文件存储在同一目录中。

我错过了什么?

推荐答案

您可能正在某个陌生的目录(即,与您预期的目录不同的其他目录中)运行Python解释器(和您的python Callee.py命令)。

您可以在调用system(3)之前使用getcwd(3)查找当前工作目录。

您可以使用chdir(2)系统调用(在调用system之前)将目录更改为适当的目录。或许请参阅this。

我建议您同时阅读Advanced Linux Programming

另请阅读关于Extending and Embedding the Python Interpreter;但如果您需要嵌入某些解释器,请同时考虑Guile&;Lua。

这篇关于如何从c++调用python的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

C++ find method not working(C++查找方法不起作用)
How to determine the offset of an element of a tuple at compile time?(如何在编译时确定元组元素的偏移量?)
Error: control Reaches end of non void function(错误:控件已到达非无效函数的末尾)
Error: Jump to case label in switch statement(错误:跳转到SWITCH语句中的CASE标签)
Order of elements in set of pointers(指针集中元素的顺序)
error while loading shared libraries: jvm.dll(加载共享库时出错:jvm.dll)