C程序通常寻求当前位置以清除所有“文件结束”标志。但是正如@9000正确指出的那样,python显然会处理此问题,因此即使文件已到达文件末尾,您也可以重复读取同一文件。
但是,您可能需要处理不完整的行。如果您的应用程序按段编写日志,那么您要确保处理整行而不是整行。以下代码将完成此操作:
f = open('some.log', 'r')while True: line = '' while len(line) == 0 or line[-1] != 'n': tail = f.readline() if tail == '': time.sleep(0.1) # avoid busy waiting # f.seek(0, io.SEEK_CUR) # appears to be unneccessary continue line += tail process(line)


