需求:动态监测日志文件内容是否增加内容
如:存在日志文件access.log文件
思路:1.需要写入内容到文件中
2.需求读取文件中内容,每次读取需要读取新添加的内容
a.首先读取文件内容时需要指针停留在文件最末尾
b.sh实时监控文件是否增加的有新内容,如果在写入的有新内容后,需要打印
实现方式:
# 每次写入文件内容(写入文件需要w和a模式,这时写入文件每次不能清空之前的内容,就需要使用a模式,进行追加)
# 新建一个py文件,进行写操作
with open(r'access.log',mode='at',encoding='utf-8') as f:
f.write('XX充值游戏币XX钱,时间为:202001102230‘’)
# 在新建一个py文件,进行动态读取文件内容,是否添加新内容
import.time # 引用时间函数
with open(r'access.log',mode='rb') as f:
f.seek(0,2) # 使用seek(),文件指针移动到文件末尾,向右移动0个字节(这里用的2模式,表示指针在文件末尾)
while Ture: #要实时监控是否有新增的内容,就需要进行循环
res = f.readline()
if len(res) == 0: # 如果读取的当前指针后为空
time.sleep(2) # 停止2s
else:
print(res.decode('utf-8'),end='') # 如果当前之前后面不为空,则打印出来,以utf-8的格式打印出来,去掉换行