简单定义了方法,实现了tail -f 的功能。实际使用最好自己封装成class 。
直接上代码
import time
def read_file(file_path,fail_reload_stamp =10):
reload_stamp = time.time() #初始化 时间戳
f = open(file_path,'r');
f.seek(0,2)
while True:
row_content = f.readline()
if not row_content:
if time.time() - reload_stamp >fail_reload_stamp:
f = open(file_path,'r');
f.seek(0,2)
print("reload file .....")
time.sleep(1)
continue
reload_stamp = time.time()
print(row_content)
if __name__ == "__main__":
read_file('file path')
建议 open 方法做个异常处理,防止文件短期不存在。