将文件用作stdin和stdout用于子进程

时间:2013-03-01 22:02:38

标签: python subprocess stdout stdin

如何使用python子进程模块复制以下批处理命令?

myprogram < myinput.in > myoutput.out

换句话说,如何使用myprogram的内容作为标准输入并以myinput.in作为标准输出来运行myoutput.out

1 个答案:

答案 0 :(得分:33)

以下内容应该有效:

myinput = open('myinput.in')
myoutput = open('myoutput.out', 'w')
p = subprocess.Popen('myprogram.exe', stdin=myinput, stdout=myoutput)
p.wait()
myoutput.flush()