通过Exec在C中运行Python脚本?
我想以以下方式在C中运行python脚本:(我已经分叉了) 在bash中,我可以成功运行通过Exec在C中运行Python脚本?,python,c,bash,exec,Python,C,Bash,Exec,我想以以下方式在C中运行python脚本:(我已经分叉了) 在bash中,我可以成功运行 python my_script.py test (test是python脚本的参数) 然而,程序输出 my_script.py: can't open file 'test': [Errno 2] No such file or directory 我做错了什么3啊,我想出来了。 应该是: execlp("python", "python", "my_script.py", "test", (char
python my_script.py test
(test是python脚本的参数)
然而,程序输出
my_script.py: can't open file 'test': [Errno 2] No such file or directory
我做错了什么3啊,我想出来了。
应该是:
execlp("python", "python", "my_script.py", "test", (char*) NULL);
按照惯例,第一个参数是可执行文件的文件名。我以为这是自动通过的,但显然不是 啊,我知道了。
应该是:
execlp("python", "python", "my_script.py", "test", (char*) NULL);
按照惯例,第一个参数是可执行文件的文件名。我以为这是自动通过的,但显然不是 错误是你的答案。给出
“my_script.py”
的完整路径当前目录在两种情况下是否相同?是。它试图打开“测试”,但我从未告诉过它。它应该作为一个参数通过测试。您可以验证当前目录是否相同,即从C中设置它吗?此外,请尝试对Python的路径进行编码,以验证Python在以这种方式运行时是否能够正确运行。错误是您的答案。给出“my_script.py”
的完整路径当前目录在两种情况下是否相同?是。它试图打开“测试”,但我从未告诉过它。它应该通过测试作为一个参数。你能验证当前目录是否相同,即通过在C++中设置它吗?也可以尝试将Python的路径编码,以验证Python在以这种方式运行时是否正确运行。但我不完全确定。只是FIY,没有必要投null,至少在C中。我假设C++也是一样的,但我不完全确定。