tail小程序
记录日志功能
import time
with open(‘log.txt‘, mode=‘at‘, encoding=‘utf-8‘) as f:
f.write("%s %s\n" %(time.strftime(‘%Y年-%m月-%d日 %H时-%M分-%S秒‘),‘Poco给黑影转了一个亿‘))
打印日志最新的内容
# 导入一个时间模块
import time
# 调用文件log.txt,用rb模式打开
with open(‘log.txt‘, mode=‘rb‘) as f:
# 2模式,参照文件末尾移动0个字节, 即直接跳到文件末尾
f.seek(0, 2)
# while循环
while True:
# 读取一行内容,光标移动到第二行首部,并赋值给对象ling
ling = f.readline()
# 判断ling 的长度是否等于0
if len(ling) == 0:
# 等于0,停止0.3秒
time.sleep(0.3)
else:
# 不等于0,打印ling的结果
print(ling.decode(‘utf-8‘))
‘‘‘
详解:我们用2模式,移动到当前文件内容的末尾。
然后再去if 判断 有没有追加新的内容,追加了,这个文件之后的长度肯定不会等于0,
所以我们就打印出来,否则就不打印,用time模块是因为while一直循环执行,对cpu消耗较大,
所以我们让他每次循环都休息0.3秒。
‘‘‘
tail小程序(记录日志以及监测日志新内容)