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 time模块用法实例详解
Sep 11 Python
python测试驱动开发实例
Oct 08 Python
python机器学习库常用汇总
Nov 15 Python
python2 与python3的print区别小结
Jan 16 Python
python3实现公众号每日定时发送日报和图片
Feb 24 Python
python 文件查找及内容匹配方法
Oct 25 Python
django中ORM模型常用的字段的使用方法
Mar 05 Python
python scrapy爬虫代码及填坑
Aug 12 Python
如何通过Django使用本地css/js文件
Jan 20 Python
关于TensorFlow新旧版本函数接口变化详解
Feb 10 Python
Pyqt5 关于流式布局和滚动条的综合使用示例代码
Mar 24 Python
Python-openpyxl表格读取写入的案例详解
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
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
2007/09/24 PHP
JS实现的省份级联实例代码
2013/06/24 Javascript
jquery select多选框的左右移动 具体实现代码
2013/07/03 Javascript
jquery中使用循环下拉菜单示例代码
2014/09/24 Javascript
jQuery匹配文档链接并添加class的方法
2015/06/26 Javascript
JavaScript获得指定对象大小的方法
2015/07/01 Javascript
jQuery.trim() 函数及trim()用法详解
2015/10/26 Javascript
JavaScript实现复制文章自动添加版权
2016/08/02 Javascript
async/await与promise(nodejs中的异步操作问题)
2017/03/03 NodeJs
Vue 父子组件、组件间通信
2017/03/08 Javascript
ES6新特性:使用export和import实现模块化详解
2017/07/31 Javascript
Vue 多层组件嵌套二种实现方式(测试实例)
2017/09/08 Javascript
Node.js HTTP服务器中的文件、图片上传的方法
2019/09/23 Javascript
解决echarts vue数据更新,视图不更新问题(echarts嵌在vue弹框中)
2020/07/20 Javascript
解决vue使用vant轮播组件swipe + flex时文字抖动问题
2021/01/07 Vue.js
[01:04:09]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第二场 2月2日
2021/03/11 DOTA
浅谈Python中函数的参数传递
2016/06/21 Python
Python数据结构与算法之链表定义与用法实例详解【单链表、循环链表】
2017/09/28 Python
pandas的object对象转时间对象的方法
2018/04/11 Python
python 实现将txt文件多行合并为一行并将中间的空格去掉方法
2018/12/20 Python
Pytorch在NLP中的简单应用详解
2020/01/08 Python
Python面向对象程序设计之静态方法、类方法、属性方法原理与用法分析
2020/03/23 Python
Python制作数据预测集成工具(值得收藏)
2020/08/21 Python
澳大利亚最受欢迎的美发用品目的地:AMR
2019/08/28 全球购物
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
2015/02/22 面试题
会计岗位说明书
2014/07/29 职场文书
小区门卫岗位职责范本
2014/08/24 职场文书
党员批评与自我批评
2014/10/15 职场文书
助学感谢信范文
2015/01/21 职场文书
出国留学自荐信模板
2015/03/06 职场文书
超市啤酒狂欢夜策划方案范文!
2019/07/03 职场文书
浅谈MySQL next-key lock 加锁范围
2021/06/07 MySQL
基于Python实现将列表数据生成折线图
2022/03/23 Python
Python实现视频自动打码的示例代码
2022/04/08 Python
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL
5个实用的JavaScript新特性
2022/06/16 Javascript