我有一个疯狂的问题。 我有一个cmd来运行一个exe文件,它执行没有错误。命令提示符中的cmd是
E:\project\cpp\myfirst.exe
我必须在我的python脚本中调用这个exe文件。我使用subprocess.call。但是我收到了一个错误。代码和错误如下
import subprocess
subprocess.call('E:\\project\\cpp\\myfirst.exe')
我得到的错误是
ERROR: Could not open myfirst setup file
1
我无法找到解决方案。我也试过os.system调用。但仍然是同样的错误。你能帮助我吗?
注意:exe文件是从cpp代码生成的
感谢
答案 0 :(得分:2)
该程序似乎正在寻找工作目录中的某些配置文件,该文件并不总是与可执行文件所在的配置文件相同。请尝试改为:
import subprocess
subprocess.call('myfirst.exe', cwd=r'E:\project\cpp')
如果您自己编写了myfirst.exe
,请考虑更改查找逻辑,以便检查可执行文件的自己的目录。
答案 1 :(得分:-1)
在Linux下,我总是发现 popen 机制更可靠。
from subprocess import Popen, PIPE process = Popen(['swfdump',
'/tmp/filename.swf', '-d'], stdout=PIPE, stderr=PIPE) stdout, stderr =process.communicate()
答案取自