服务器之家

服务器之家 > 正文

Python中使用Inotify监控文件实例

时间:2019-11-20 22:26     来源/作者:junjie

Inotify地址:访问

  1. # -*- coding:utf-8 -*- 
  2.   
  3. import os 
  4. import pyinotify 
  5. from functions import * 
  6.   
  7. WATCH_PATH = '' #监控目录 
  8.   
  9. if not WATCH_PATH: 
  10.   wlog('Error',"The WATCH_PATH setting MUST be set."
  11.   sys.exit() 
  12. else
  13.   if os.path.exists(WATCH_PATH): 
  14.     wlog('Watch status','Found watch path: path=%s.' % (WATCH_PATH)) 
  15.   else
  16.     wlog('Error','The watch path NOT exists, watching stop now: path=%s.' % (WATCH_PATH)) 
  17.     sys.exit() 
  18.   
  19. class OnIOHandler(pyinotify.ProcessEvent): 
  20.   def process_IN_CREATE(self, event): 
  21.     wlog('Action',"create file: %s " % os.path.join(event.path,event.name)) 
  22.   
  23.   def process_IN_DELETE(self, event): 
  24.     wlog('Action',"delete file: %s " % os.path.join(event.path,event.name)) 
  25.   
  26.   def process_IN_MODIFY(self, event): 
  27.     wlog('Action',"modify file: %s " % os.path.join(event.path,event.name)) 
  28.   
  29. def auto_compile(path = '.'): 
  30.   wm = pyinotify.WatchManager() 
  31.   mask = pyinotify.IN_CREATE | pyinotify.IN_DELETE | pyinotify.IN_MODIFY 
  32.   notifier = pyinotify.ThreadedNotifier(wm, OnIOHandler()) 
  33.   notifier.start() 
  34.   wm.add_watch(path, mask,rec = True,auto_add = True) 
  35.   wlog('Start Watch','Start monitoring %s' % path) 
  36.   while True: 
  37.     try
  38.       notifier.process_events() 
  39.       if notifier.check_events(): 
  40.         notifier.read_events() 
  41.     except KeyboardInterrupt: 
  42.       notifier.stop() 
  43.       break 
  44.   
  45. if __name__ == "__main__"
  46.    auto_compile(WATCH_PATH) 

相关文章

热门资讯

2022年最旺的微信头像大全 微信头像2022年最新版图片
2022年最旺的微信头像大全 微信头像2022年最新版图片 2022-01-10
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
暖暖日本高清免费中文 暖暖在线观看免费完整版韩国
暖暖日本高清免费中文 暖暖在线观看免费完整版韩国 2021-05-08
返回顶部