【发布时间】:2013-02-16 12:53:03
【问题描述】:
如何使用 python 子进程模块复制以下批处理命令?
myprogram < myinput.in > myoutput.out
换句话说,如何使用myinput.in 的内容作为标准输入和myoutput.out 作为标准输出来运行myprogram?
【问题讨论】:
标签: python subprocess stdout stdin
如何使用 python 子进程模块复制以下批处理命令?
myprogram < myinput.in > myoutput.out
换句话说,如何使用myinput.in 的内容作为标准输入和myoutput.out 作为标准输出来运行myprogram?
【问题讨论】:
标签: python subprocess stdout stdin
以下应该有效:
myinput = open('myinput.in')
myoutput = open('myoutput.out', 'w')
p = subprocess.Popen('myprogram.exe', stdin=myinput, stdout=myoutput)
p.wait()
myoutput.flush()
【讨论】:
myoutput = open('myoutput.out'. 'w') 行中的参数应该用, 分隔,而不是.
subprocess.run() 对于大多数 subprocess 用例来说是一个更好的 API。它同样采用 stdin 和 stdout 关键字参数。