我有一个名为“ program.exe ”的外部程序,我希望通过Python调用来运行它。关键是,这个可执行文件是用Java构建的(我不是程序员) 通过在文件浏览器中单击此文件,它运行没有任何问题,但使用Python它失败了。
我试过了:
获取错误消息,如:
似乎这是一项简单的任务,但每次尝试都失败了。 对我有些暗示?
答案 0 :(得分:0)
找到了解决方案。这与.exe-File是用Java编译的事实无关。出错的原因是缺少参数" cwd",它们定义了工作目录。
import subprocess
subprocess.Popen("C:\\Folder\\bin\\program.exe", cwd="C:\\Folder\\bin")
要从Shell导出答案,可以尝试这样做:
import subprocess
ShellOutput=subprocess.Popen("C:\\Folder\\bin\\program.exe", cwd="C:\\Folder\\bin", stdout=subprocess.PIPE)
print(ShellOutput.communicate()[0].decode("utf-8"))
使用Python 3.6评估示例