Linux环境下监控目录变化的Python代码片段

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

这段代码可以监控当前目录及子目录文件的创建,修改,删除等变化,需要用到pyinotify模块,pyinotify模块可以到:http://pyinotify.sourceforge.net/ 下载

#!/usr/bin/env python
#coding=utf-8
 
import os
from pyinotify import WatchManager, Notifier, ProcessEvent, IN_DELETE, IN_CREATE,IN_MODIFY
wm = WatchManager()
mask = IN_DELETE | IN_CREATE |IN_MODIFY   # watched events
 
class PFilePath(ProcessEvent):
    def process_IN_CREATE(self, event):
        print   "Create file: %s " %   os.path.join(event.path, event.name)
 
    def process_IN_DELETE(self, event):
        print   "Delete file: %s " %   os.path.join(event.path, event.name)
     
    def process_IN_MODIFY(self, event):
            print   "Modify file: %s " %   os.path.join(event.path, event.name)
     
 
if __name__ == "__main__":
     
    notifier = Notifier(wm, PFilePath())
    wdd = wm.add_watch('.', mask, rec=True)
 
    while True:
        try :
            notifier.process_events()
            if notifier.check_events():
                notifier.read_events()
        except KeyboardInterrupt:
            notifier.stop()
            break