【发布时间】:2015-02-16 22:15:25
【问题描述】:
我正在通过 Popen 运行命令并捕获 stderr 并使用它来更新其他地方的显示,这工作正常,每次 stderr 输出内容时都会更新,但我也在尝试将输出实时保存到日志文件.虽然这确实将输出写入文件,但似乎并不经常更新此文件。每次有东西要写时,有没有办法让输出写入文件? 代码如下:
self.process1 = Popen(command, startupinfo=startupinfo, stderr=subprocess.PIPE)
logFile = open(logFilePath, "a")
while True:
line222 = self.process1.stderr.readline().decode('utf-8')
logFile.write(line222)
【问题讨论】:
-
我认为
logFile.flush()紧跟在logfFile.write()之后会成功 -
还有一个
Popen的方法,我现在不记得了,你可以用它作为while循环的条件,它会逐行给你输出...需要检查文档 -
logFile.flush() 很好用,谢谢。
标签: python subprocess popen stderr