在python中运行exe文件 - 无法正常工作

时间:2016-02-18 11:31:58

标签: python python-2.7 python-3.x

我有一个疯狂的问题。 我有一个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代码生成的

感谢

2 个答案:

答案 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()

答案取自

How to use subprocess popen Python