如何python open函数实现类似tail -f 方式读取日志文件
可以使用Python的open函数和while循环来实现类似tail -f方式读取日志文件。
具体实现如下:
-
使用open函数打开日志文件,并将其赋值给一个文件对象。
-
使用while循环不断读取文件内容,直到文件末尾。
-
在每次循环中,使用文件对象的readline方法读取一行日志内容,并将其打印出来。
-
如果文件末尾被读取到了,使用文件对象的seek方法将文件指针重新指向文件开头,以便继续读取新的日志内容。
代码示例:
import time
def tail_f(filename):
# 打开日志文件
f = open(filename, 'r')
# 移动文件指针到文件末尾
f.seek(0, 2)
while True:
# 读取文件内容
line = f.readline()
if not line:
# 如果文件末尾被读取到了,重新指向文件开头
f.seek(0, 0)
time.sleep(1)
else:
# 打印日志内容
print(line.strip())
# 调用tail_f函数,传入日志文件路径
tail_f('/var/log/syslog')
在上述代码中,使用了time.sleep(1)来控制每次读取日志的时间间隔,以防止过快读取导致程序占用过多系统资源。您可以根据实际情况进行调整。
原文地址: https://www.cveoy.top/t/topic/bsFZ 著作权归作者所有。请勿转载和采集!