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合并字符串的3种方法
May 21 Python
Python实现ssh批量登录并执行命令
Oct 25 Python
Python Queue模块详细介绍及实例
Dec 27 Python
利用python实现命令行有道词典的方法示例
Jan 31 Python
Python编程pygal绘图实例之XY线
Dec 09 Python
python读取excel指定列数据并写入到新的excel方法
Jul 10 Python
详解Python3之数据指纹MD5校验与对比
Jun 11 Python
Python 运行.py文件和交互式运行代码的区别详解
Jul 02 Python
Python批量将图片灰度化的实现代码
Apr 11 Python
keras实现多GPU或指定GPU的使用介绍
Jun 17 Python
python实现图片转字符画
Feb 19 Python
python opencv旋转图片的使用方法
Jun 04 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
一个简洁的多级别论坛
2006/10/09 PHP
php FPDF类库应用实现代码
2009/03/20 PHP
php学习之数据类型之间的转换介绍
2011/06/09 PHP
二招解决php乱码问题
2012/03/25 PHP
解析php通过cookies获取远程网页的指定代码
2013/06/25 PHP
php实现的获取网站备案信息查询代码(360)
2013/09/23 PHP
PHP调用.NET的WebService 简单实例
2015/03/27 PHP
PHP中的一些常用函数收集
2015/05/26 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
2016/12/23 PHP
php中用unset销毁变量并释放内存
2020/05/10 PHP
nodeType属性返回被选节点的节点类型介绍
2013/11/22 Javascript
JS获取元素多层嵌套思路详解
2016/05/16 Javascript
jQuery插件实现图片轮播特效
2016/06/16 Javascript
微信和qq时间格式模板实例详解
2016/10/21 Javascript
浅谈Angular文字折叠展开组件的原理分析
2017/11/24 Javascript
JS实现的缓冲运动效果示例
2018/04/30 Javascript
浅谈手写node可读流之流动模式
2018/06/01 Javascript
Intellij IDEA搭建vue-cli项目的方法步骤
2018/10/20 Javascript
layui中的switch开关实现方法
2019/09/03 Javascript
vue框架制作购物车小球动画效果实例代码
2019/09/26 Javascript
Python中的连接符(+、+=)示例详解
2017/01/13 Python
Python基于回溯法子集树模板解决找零问题示例
2017/09/11 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
opencv python统计及绘制直方图的方法
2019/01/21 Python
pycharm 更改创建文件默认路径的操作
2020/02/15 Python
使用Python通过oBIX协议访问Niagara数据的示例
2020/12/04 Python
CSS3制作炫酷带方向感应的鼠标滑过图片3D动画
2016/03/16 HTML / CSS
html5调用摄像头功能的实现代码
2018/05/07 HTML / CSS
美国最大网上鞋店:Zappos
2016/07/25 全球购物
大学生水文观测实习自我鉴定
2013/09/29 职场文书
保安员岗位职责
2013/11/17 职场文书
2014植树节活动总结
2014/03/11 职场文书
判缓刑人员个人思想汇报
2014/10/10 职场文书
个人政治思想总结
2015/03/05 职场文书
博士给导师的自荐信
2015/03/06 职场文书
MySQL创建管理RANGE分区
2022/04/13 MySQL