【发布时间】:2015-09-13 13:50:53
【问题描述】:
我已经看过几个关于这个主题的问题,但没有一个对我有用。我需要的是获取 subprocess.Popen([...],stdout=subprocess.PIPE) 的 complete stdout 和 stderr 并将其一次全部写入文件,例如:
import tempfile
import subprocess
stattmpfile = tempfile.NamedTemporaryFile(suffix=".log",prefix="status",delete=False)
proc = subprocess.Popen([mycommand, myparams], stdout=subprocess.PIPE)
while proc.poll() is None:
output = proc.stdout.readline()
statusfile.write(output)
output = proc.communicate()[0]
statusfile.write(output)
statusfile.close()
在这个例子中,我只得到标准输出的第一行,没有别的。
【问题讨论】:
标签: python subprocess