首頁 > 後端開發 > Python教學 > 使用Python監控檔案內容變化程式碼

使用Python監控檔案內容變化程式碼

不言
發布: 2018-06-04 11:59:10
原創
3542 人瀏覽過

這篇文章主要介紹了關於使用Python監控檔案內容變化程式碼,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

在python中檔案監控主要有兩個庫,一個是pyinotify,一個是watchdog。 pyinotify依賴Linux平台的inotify,今天我們就來探討下pyinotify.

#利用seek監控檔案內容,並列印出變更內容:

##

#/usr/bin/env python
#-*- coding=utf-8 -*-
 
pos = 0
while True:
  con = open("a.txt")
  if pos != 0:
    con.seek(pos,0)
  while True:
  line = con.readline()
  if line.strip():
    print line.strip()
  pos = pos + len(line)
  if not line.strip():
    break
  con.close()
登入後複製

利用工具pyinotify監控檔案內容變化,當檔案逐漸變大時,可輕鬆完成任務:

#!/usr/bin/env python
#-*- coding=utf-8 -*-
import os
import datetime
import pyinotify
import logging
 
pos = 0
def printlog():
  global pos
  try:
    fd = open("log/a.txt")
  if pos != 0:
    fd.seek(pos,0)
  while True:
    line = fd.readline()
    if line.strip():
      print line.strip()
    pos = pos + len(line)
    if not line.strip():
    break
  fd.close()
  except Exception,e:
  print str(e)
 
class MyEventHandler(pyinotify.ProcessEvent):
  def process_IN_MODIFY(self,event):
    try:
    printlog()
  except Exception,e:
    print str(e)
 
def main():
  printlog()
  wm = pyinotify.WatchManager()
  wm.add_watch("log/a.txt",pyinotify.ALL_EVENTS,rec=True)
  eh = MyEventHandler()
  notifier = pyinotify.Notifier(wm,eh)
  notifier.loop()
if __name__ == "__main__":
  main()
登入後複製

相關推薦:

如何使用Python的Requests套件實作模擬登陸

#

以上是使用Python監控檔案內容變化程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板