如何仅存储从子进程返回的最后一行?
特别地,我从python调用子进程,它返回许多输出行。子进程在一段不可预测的(可能很长)时间后终止,我只需要处理STDOUT中的最后一行。
我能否以某种方式避免存储整个输出,只等待最后一个输出?
在阅读最后一行之前,您必须处理(并丢弃)每一行。
你可以这样写
line = None
for line in proc.stdout:
pass
# now line is either the last line or None.
if line is not None:
process(line)