python

超轻量级php框架startmvc

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

更新时间:2020-06-04 23:42:02 作者:startmvc
利用seek监控文件内容,并打印出变化内容:#/usr/bin/envpython#-*-coding=utf-8-*-pos=0whileTrue:con=open(

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

python3 监控代码变化 linux 监控文件变化 python 监控文件变化