【发布时间】:2011-12-20 03:22:16
【问题描述】:
我有一个运行时间很长的作业,它运行了几分钟,然后重新启动。该任务输出我捕获的各种信息,如下所示:
output = subprocess.Popen(cmd,stdout=subprocess.PIPE).communicate()
问题是,我一次只能得到整个输出。我想在程序将输出发送到标准输出时显示输出,同时仍将其推回缓冲区(我需要检查输出中是否存在某些字符串)。在 Ruby 中,我会这样做:
IO.popen(cmd) do |io|
io.each_line do |line|
puts line
buffer << line
end
end
【问题讨论】:
标签: python