Python中使用Inotify监控文件实例

 更新时间:2015年02月14日 11:46:05   投稿:junjie  
这篇文章主要介绍了Python中使用Inotify监控文件实例,本文直接给出实现代码,需要的朋友可以参考下

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中的json总结

    python中的json总结

    JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。本文重点给大家介绍python中的json,感兴趣的朋友跟随小编一起看看吧
    2018-10-10
  • 排序算法之希尔排序法解析

    排序算法之希尔排序法解析

    这篇文章主要介绍了排序算法之希尔排序法解析,希尔排序法(Shell Sort),也称为缩小增量排序,是一种改进的插入排序算法,它通过将待排序的元素按照一定的间隔分组,对每个分组进行插入排序,逐渐减小间隔直至为1,最后对整个序列进行一次插入排序
    2023-07-07
  • 在 Python 中如何为对象添加属性

    在 Python 中如何为对象添加属性

    在本文中我们将介绍如何在Python中为对象添加属性,我们还将通过示例介绍如何在Python中更改对象的属性,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-06-06
  • Python retrying 重试机制详解

    Python retrying 重试机制详解

    这篇文章主要为大家介绍了Python retrying 重试机制,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-11-11
  • python实现xlwt xlrd 指定条件给excel行添加颜色

    python实现xlwt xlrd 指定条件给excel行添加颜色

    这篇文章主要介绍了python实现xlwt xlrd 指定条件给excel行添加颜色,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Python 哈希表的实现——字典详解

    Python 哈希表的实现——字典详解

    这篇文章主要介绍了Python 哈希表的实现——字典,那么今天我们就来看看哈希表的原理以及如何实现一个简易版的 Python 哈希表,需要的朋友可以参考下
    2023-11-11
  • Python并发:多线程与多进程的详解

    Python并发:多线程与多进程的详解

    今天小编就为大家分享一篇关于Python并发:多线程与多进程的详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • python中time模块指定格式时间字符串转为时间戳

    python中time模块指定格式时间字符串转为时间戳

    本文主要介绍了python中time模块指定格式时间字符串转为时间戳,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • python多线程分块读取文件

    python多线程分块读取文件

    这篇文章主要为大家详细介绍了python多线程分块读取文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • Python实现层次分析法及自调节层次分析法的示例

    Python实现层次分析法及自调节层次分析法的示例

    这篇文章主要介绍了Python实现层次分析法及自调节层次分析法的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04

最新评论