首页 > 编程 > Python > 正文

使用Python监控文件内容变化代码实例

2019-11-25 14:37:16
字体:
来源:转载
供稿:网友

利用seek监控文件内容,并打印出变化内容:

#/usr/bin/env python#-*- coding=utf-8 -*- pos = 0while 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 osimport datetimeimport pyinotifyimport logging pos = 0def 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()

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表