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模块使用说明
May 19 Python
python创建临时文件夹的方法
Jul 06 Python
python递归打印某个目录的内容(实例讲解)
Aug 30 Python
python机器学习之决策树分类详解
Dec 20 Python
PyQt5每天必学之组合框
Apr 20 Python
python获取文件真实链接的方法,针对于302返回码
May 14 Python
Windows下将Python文件打包成.EXE可执行文件的方法
Aug 03 Python
python实现定时发送qq消息
Jan 18 Python
Python continue语句实例用法
Feb 06 Python
tensorflow之自定义神经网络层实例
Feb 07 Python
python安装后的目录在哪里
Jun 21 Python
用python进行视频剪辑
Nov 02 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生成RSS文件类实例
2014/12/05 PHP
thinkphp3.2.3 分页代码分享
2016/07/28 PHP
laravel数据库查询结果自动转数组修改实例
2021/02/27 PHP
jquery中交替点击事件toggle方法的使用示例
2013/12/08 Javascript
js 通用订单代码
2013/12/23 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
2015/09/16 Javascript
AngularJS单选框及多选框实现双向动态绑定
2016/01/13 Javascript
使用jQuery的easydrag插件实现可拖动的DIV弹出框
2016/02/19 Javascript
终于实现了!精彩的jquery弹幕效果
2016/07/18 Javascript
微信小程序 传值取值的几种方法总结
2017/01/16 Javascript
原生js jquery ajax请求以及jsonp的调用方法
2017/08/04 jQuery
对angularJs中自定义指令replace的属性详解
2018/10/09 Javascript
IDEA安装vue插件图文详解
2019/09/26 Javascript
详解JavaScript中new操作符的解析和实现
2020/09/04 Javascript
Openlayers实现图形绘制
2020/09/28 Javascript
使用Python3中的gettext模块翻译Python源码以支持多语言
2015/03/31 Python
Python实现自动登录百度空间的方法
2017/06/10 Python
python实现机械分词之逆向最大匹配算法代码示例
2017/12/13 Python
Python走楼梯问题解决方法示例
2018/07/25 Python
python 移动图片到另外一个文件夹的实例
2019/01/10 Python
pytorch 模拟关系拟合——回归实例
2020/01/14 Python
Python 调用有道翻译接口实现翻译
2020/03/02 Python
简单了解django处理跨域请求最佳解决方案
2020/03/25 Python
用React加CSS3实现微信拆红包动画效果
2017/03/13 HTML / CSS
HTML5的Geolocation地理位置定位API使用教程
2016/05/12 HTML / CSS
网站编辑求职信
2013/10/17 职场文书
酒店员工检讨书
2014/02/18 职场文书
党员公开承诺书范文
2014/03/25 职场文书
初三学生评语大全
2014/04/24 职场文书
应届大专生求职信
2014/06/26 职场文书
教师师德考核自我评价
2014/09/13 职场文书
奖励申请报告范文
2015/05/15 职场文书
共青团优秀团员申请书(范文)
2019/08/15 职场文书
浅谈Redis存储数据类型及存取值方法
2021/05/08 Redis
MySQL删除和插入数据很慢的问题解决
2021/06/03 MySQL
MongoDB支持的索引类型
2022/04/11 MongoDB