需求:動態監測日志文件內容是否增加內容
如:存在日志文件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的格式打印出來,去掉換行