如何只存储从子进程返回的最后一行?
特别是,我从python调用一个子进程,它返回了很多输出行。子进程在一些不可预测(可能很长)的时间后终止,我只需要处理STDOUT的最后一行。
我可以以某种方式避免存储整个输出并等待最后一个输出吗?
答案 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)