Inotify地址:访问
# -*- coding:utf-8 -*- import os import pyinotify from functions import * WATCH_PATH = \'\' #监控目录 if not WATCH_PATH: wlog(\'Error\',\"The WATCH_PATH setting MUST be set.\") sys.exit() else: if os.path.exists(WATCH_PATH): wlog(\'Watch status\',\'Found watch path: path=%s.\' % (WATCH_PATH)) else: wlog(\'Error\',\'The watch path NOT exists, watching stop now: path=%s.\' % (WATCH_PATH)) sys.exit() class OnIOHandler(pyinotify.ProcessEvent): def process_IN_CREATE(self, event): wlog(\'Action\',\"create file: %s \" % os.path.join(event.path,event.name)) def process_IN_DELETE(self, event): wlog(\'Action\',\"delete file: %s \" % os.path.join(event.path,event.name)) def process_IN_MODIFY(self, event): wlog(\'Action\',\"modify file: %s \" % os.path.join(event.path,event.name)) def auto_compile(path = \'.\'): wm = pyinotify.WatchManager() mask = pyinotify.IN_CREATE | pyinotify.IN_DELETE | pyinotify.IN_MODIFY notifier = pyinotify.ThreadedNotifier(wm, OnIOHandler()) notifier.start() wm.add_watch(path, mask,rec = True,auto_add = True) wlog(\'Start Watch\',\'Start monitoring %s\' % path) while True: try: notifier.process_events() if notifier.check_events(): notifier.read_events() except KeyboardInterrupt: notifier.stop() break if __name__ == \"__main__\": auto_compile(WATCH_PATH)