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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/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