Linux下用Python脚本监控目录变化代码分享

yipeiwu_com6年前Python基础
#!/usr/bin/env python
#coding=utf-8

import os
from pyinotify import WatchManager, Notifier, ProcessEvent, IN_DELETE, IN_CREATE,IN_MODIFY
wm = WatchManager() 
mask = IN_DELETE | IN_CREATE |IN_MODIFY  # watched events

class PFilePath(ProcessEvent):
  def process_IN_CREATE(self, event):
    print  "Create file: %s " %  os.path.join(event.path, event.name)

  def process_IN_DELETE(self, event):
    print  "Delete file: %s " %  os.path.join(event.path, event.name)

  def process_IN_MODIFY(self, event):
      print  "Modify file: %s " %  os.path.join(event.path, event.name)

if __name__ == "__main__":

  notifier = Notifier(wm, PFilePath())
  wdd = wm.add_watch('.', mask, rec=True)

  while True:
    try :
      notifier.process_events()
      if notifier.check_events():
        notifier.read_events()
    except KeyboardInterrupt:
      notifier.stop()
      break

相关文章

Python笔记之代理模式

代理通常就是一个介于寻求方和提供方之间的中介系统。其核心思想就是客户端(寻求方)没有直接和提供方(真实对象)打交道,而是通过代理对象来完成提供方提供的资源或操作。 代理其实就是封装实际服...

Python正则表达式经典入门教程

本文实例总结了Python正则表达式基本用法。分享给大家供大家参考,具体如下: 正则表达式在平时做文本处理(爬虫程序去解析html中的字段,在分析log文件的时候需要抓取一些关键数据)的...

初探TensorFLow从文件读取图片的四种方式

本文记录一下TensorFLow的几种图片读取方法,官方文档有较为全面的介绍。 1.使用gfile读图片,decode输出是Tensor,eval后是ndarray import...

python读写LMDB文件的方法

python读写LMDB文件的方法

LMDB的全称是Lightning Memory-Mapped Database(快如闪电的内存映射数据库),它的文件结构简单,包含一个数据文件和一个锁文件: LMDB文件可以同时由多...

在CentOS6上安装Python2.7的解决方法

在CentOS6上yum安装工具是基于Python2.6.6的,所以在CentOS6上默认安装的是Python2.6.6,因为要在服务器系统为CentOS6上部署生产环境,但是代码都是基...