如何从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。
相关文章