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爬取读者并制作成PDF
Mar 10 Python
python开发环境PyScripter中文乱码问题解决方案
Sep 11 Python
numpy中实现ndarray数组返回符合特定条件的索引方法
Apr 17 Python
Python实现按照指定要求逆序输出一个数字的方法
Apr 19 Python
Python解析并读取PDF文件内容的方法
May 08 Python
基于Python中求和函数sum的用法详解
Jun 28 Python
Python父目录、子目录的相互调用方法
Feb 16 Python
python 基于TCP协议的套接字编程详解
Jun 29 Python
Python 二叉树的层序建立与三种遍历实现详解
Jul 29 Python
在Pytorch中计算自己模型的FLOPs方式
Dec 30 Python
python实现3D地图可视化
Mar 25 Python
python mock测试的示例
Oct 19 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+ajax实现图片文件上传功能实例
2014/06/17 PHP
Gambit vs CL BO3 第三场 2.13
2021/03/10 DOTA
JS解析XML的实现代码
2009/11/12 Javascript
JQuery从头学起第三讲
2010/07/06 Javascript
浅析JavaScript中的同名标识符优先级
2013/12/06 Javascript
jQuery写fadeTo示例代码
2014/02/21 Javascript
js 获取元素下面所有li的两种方法
2014/04/14 Javascript
node.js中的console.assert方法使用说明
2014/12/10 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
2014/12/10 Javascript
扒一扒JavaScript 预解释
2015/01/28 Javascript
Javascript简写条件语句(推荐)
2016/06/12 Javascript
总结Javascript中的隐式类型转换
2016/08/24 Javascript
js发送短信倒计时的简单实现方法
2016/09/08 Javascript
H5用户注册表单页 注册模态框!
2016/09/17 Javascript
JavaScript中全选、全不选、反选、无刷新删除、批量删除、即点即改入库(在yii框架中操作)的代码分享
2016/11/01 Javascript
使用Curl命令查看请求响应时间方法
2016/11/04 Javascript
简单实现IONIC购物车功能
2017/01/10 Javascript
微信小程序 选项卡的简单实例
2017/05/24 Javascript
详解Vue整合axios的实例代码
2017/06/21 Javascript
react.js组件实现拖拽复制和可排序的示例代码
2018/08/20 Javascript
jquery 动态遍历select 赋值的实例
2018/09/12 jQuery
微信小程序扫描二维码获取信息实例详解
2019/05/07 Javascript
解决jquery validate 验证不通过后验证正确的信息仍残留在label上的方法
2019/08/27 jQuery
详解小程序如何动态绑定点击的执行方法
2019/11/26 Javascript
在Python的Django框架上部署ORM库的教程
2015/04/20 Python
Python中面向对象你应该知道的一下知识
2019/07/10 Python
python中如何使用虚拟环境
2020/10/14 Python
Links of London官方网站:英国标志性的珠宝品牌
2017/04/09 全球购物
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
行政人员工作职责
2013/12/05 职场文书
售房委托书
2014/08/30 职场文书
财务人员个人工作总结
2015/02/27 职场文书
张丽莉观后感
2015/06/16 职场文书
2015国庆节放假通知范文
2015/07/30 职场文书
90条交通安全宣传标语
2019/10/12 职场文书
利用Python实现翻译HTML中的文本字符串
2022/06/21 Python