很抱歉,如果多次询问此问题。我有一个DOS .exe文件。通过在Windows中双击它可以很好地工作,它会在工作文件夹中生成一些输出文件。但是,我需要从Python调用它。 我尝试了以下命令(subprocess.Popen和os.system),但它只打开一个DOS窗口而不保存输出文件。那么有人能给我一个暗示吗?
谢谢!
CODE
a=subprocess.Popen(r"I:/dosefile.exe")
a1=os.system(r"I:/dosefile.exe")
更新 它的工作原理是将.py脚本文件放到包含dosefile.exe的折叠中。有没有办法让它在没有迁移.py文件的情况下工作?
搞清楚。如果.py文件在其他地方
,我需要使用os.chdir()来更改工作文件夹答案 0 :(得分:1)
尝试将其称为系统调用
import os
os.system('I:/dosefile.exe')
然后解析它创建的输出文件。
答案 1 :(得分:1)
更好的方法是使用:
os.chdir('I:')
然后你可以使用subrprocess os.system非常有限,subprocess.Popen应该是首选。
更好将使用subprocess.Popen关键字'cwd',它设置工作目录。
subprocess.Popen(self, args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None,\
preexec_fn=None, close_fds=False, shell=False, cwd=None, env=None, universal_newlines=False, \
startupinfo=None, creationflags)
Python是一种易于练习的语言,像os.system这样的东西确实有用,因为Python非常宽容(不像C ......)。但是,我真的建议努力学习Python带来的更强大的工具 你以后不会后悔的。