IO操作-f.seek()的使用


需求:動態監測日志文件內容是否增加內容

如:存在日志文件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的格式打印出來,去掉換行

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM