等待子进程的最后一行

时间:2013-04-08 12:34:33

标签: python subprocess

如何只存储从子进程返回的最后一行?

特别是,我从python调用一个子进程,它返回了很多输出行。子进程在一些不可预测(可能很长)的时间后终止,我只需要处理STDOUT的最后一行。

我可以以某种方式避免存储整个输出并等待最后一个输出吗?

1 个答案:

答案 0 :(得分:1)

在阅读最后一行之前,你必须处理(并丢弃)每一行。

所以你可以做类似

的事情
line = None
for line in proc.stdout:
    pass
# now line is either the last line or None.
if line is not None:
    process(line)