Py_Initialize();
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append('D:/semantic_segmentation/scripts')");
PyObject* pModule = PyImport_ImportModule("sayhello");
sayhello.py的代码是:
import sys
sys.path.append("..")
import a
def _sayhello(x):
print('hello')
return x
_sayhello(1)
当我运行C++程序时,函数 PyIngPyIMPultMeule
编辑: 我发现问题出现在以下代码中:
sys.path.append("..")
import a
<> P> C++程序在导入EM> SayeloL.Py < EEM >中的其他脚本时不起作用。但是当我移动< EM > ApPy EEE>到与 SayHelo.Py < EEM >相同的路径时,导入 A.Py < EEM >只有用{{CD2}},我的C++程序才能工作。因此,我的问题是,当被叫脚本调用另一个路径中的另一个脚本时,如何使我的C++程序调用Python脚本?
python代码似乎假定进程的当前工作目录是
D:/semantic_segmentation/scripts
目录,但情况并非如此以下是两种解决方案:
< L> >用{{CD2}}或Windows等效项或更改C++程序的工作目录- 更改python代码以计算从脚本文件而不是当前工作目录开始的绝对路径。见this answer李>
相关问题 更多 >
编程相关推荐