Python中使用Inotify监控文件实例


Posted in Python onFebruary 14, 2015

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)
Python 相关文章推荐
python的re模块应用实例
Sep 26 Python
python在控制台输出进度条的方法
Jun 20 Python
举例讲解Python编程中对线程锁的使用
Jul 12 Python
python使用opencv进行人脸识别
Apr 07 Python
详解Python map函数及Python map()函数的用法
Nov 16 Python
Python实现PS图像抽象画风效果的方法
Jan 23 Python
python绘制圆柱体的方法
Jul 02 Python
Python 转换文本编码实现解析
Aug 27 Python
python多线程案例之多任务copy文件完整实例
Oct 29 Python
Django实现文章详情页面跳转代码实例
Sep 16 Python
python spilt()分隔字符串的实现示例
May 21 Python
python代码实现备忘录案例讲解
Jul 26 Python
Python中实现的RC4算法
Feb 14 #Python
Python脚本实现网卡流量监控
Feb 14 #Python
Centos5.x下升级python到python2.7版本教程
Feb 14 #Python
Python脚本实现DNSPod DNS动态解析域名
Feb 14 #Python
Python压缩和解压缩zip文件
Feb 14 #Python
Python简单日志处理类分享
Feb 14 #Python
Python魔术方法详解
Feb 14 #Python
You might like
php正则
2006/07/07 PHP
php sprintf()函数让你的sql操作更安全
2008/07/23 PHP
php数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
Aster vs Newbee BO5 第一场2.19
2021/03/10 DOTA
jQuery动态添加的元素绑定事件处理函数代码
2011/08/02 Javascript
给jqGrid数据行添加修改和删除操作链接(之一)
2011/11/04 Javascript
js实现仿阿里巴巴城市选择框效果实例
2015/06/24 Javascript
javascript实现确定和取消提示框效果
2015/07/10 Javascript
基于JS实现移动端访问PC端页面时跳转到对应的移动端网页
2020/12/24 Javascript
jQuery Validate验证表单时多个name相同的元素只验证第一个的解决方法
2016/12/24 Javascript
xmlplus组件设计系列之路由(ViewStack)(7)
2017/05/02 Javascript
基于vue.js路由参数的实例讲解——简单易懂
2017/09/07 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
2020/02/01 Javascript
python开发之函数定义实例分析
2015/11/12 Python
Python环境下搭建属于自己的pip源的教程
2016/05/05 Python
Python2.7基于淘宝接口获取IP地址所在地理位置的方法【测试可用】
2017/06/07 Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
2017/11/14 Python
对Pycharm创建py文件时自定义头部模板的方法详解
2019/02/12 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
2021/01/27 Python
python中if嵌套命令实例讲解
2021/02/25 Python
纯CSS实现设置半个字符的样式
2014/07/03 HTML / CSS
哈利波特商店:Harry Potter Shop
2018/11/30 全球购物
中专生自我鉴定书范文
2013/12/28 职场文书
小学毕业家长寄语
2014/01/19 职场文书
新年抽奖获奖感言
2014/03/02 职场文书
元旦晚会主持词
2014/03/24 职场文书
就业协议书范本
2014/04/11 职场文书
求职自我评价范文100字
2014/09/23 职场文书
2015年九一八事变纪念活动实施方案
2015/05/06 职场文书
观后感格式
2015/06/19 职场文书
2015初中团委工作总结
2015/07/28 职场文书
Golang: 内建容器的用法
2021/05/05 Golang
如何解决php-fpm启动不了问题
2021/11/17 PHP
Win10 最新稳定版本 21H2开始推送
2022/04/19 数码科技
使用CSS实现六边形的图片效果
2022/08/05 HTML / CSS
Spring boot实现上传文件到本地服务器
2022/08/14 Java/Android