网络编程
位置:首页>> 网络编程>> Python编程>> 使用Python监控文件内容变化代码实例

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

作者:guoswcfl  发布时间:2021-06-05 22:45:19 

标签:Python,监控文件内容

利用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()

来源:http://blog.51cto.com/guoshiwei/2124306

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com