C 调用 python的问题
- C/C++ code
int main(int argc, char *argv[]){ Py_Initialize(); PyObject* pName = PyString_FromString("script//main"); PyObject* pModule = PyImport_Import(pName); if ( !pModule ) { MessageBox(NULL, L"找不到main.py", L"提示", MB_OK); return 1; } PyObject* pDict = PyModule_GetDict(pModule); PyObject* pFunc = PyDict_GetItemString(pDict, "test"); PyObject_CallObject(pFunc, NULL); Py_Finalize();}
如代码所示, PyString_FromString(path);
程序和脚本同一个目录, 运行可以找得到, 如果我把脚本放在其他目录下面, 用绝对路径, 或者相对路径, 都找不到了
请问, 如何能够指定某个路径的脚本?
|--目录
|-- 程序.exe #调用目录下的main.py
|-- 脚本目录
|--main.py
[解决办法]
你的路径用错了,
如果使用windows风格,那么是类似:
"C:\\Users\\Map\\temp\\test.py" (相对路径 .\\temp\\test.py)
Linux、Unix风格,相对路径"./temp/test.py"