Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2887069
  • 博文数量: 348
  • 博客积分: 2907
  • 博客等级: 中校
  • 技术积分: 2272
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-12 09:16
个人简介

专注 K8S研究

文章分类

全部博文(348)

文章存档

2019年(22)

2018年(57)

2016年(2)

2015年(27)

2014年(33)

2013年(190)

2011年(3)

2010年(14)

分类: Python/Ruby

2013-06-29 23:04:47

Python监视文件变化

 

部分转自:http://blog.csdn.net/hechaoyuyu/article/details/6384418

通过pyinotify模块进程文件/文件夹的监视,如果还需要监视其他内容,比如修改等等,可以查看help(pyinotify).

不知道为啥,先前能够监视文件,现在只能监视文件夹,请注意!!
#!/usr/bin/env python
#coding=utf-8

import os
import gobject
from  pyinotify import  WatchManager, Notifier, ProcessEvent, ThreadedNotifier, IN_DELETE, IN_CREATE,IN_MOVED_TO,IN_MOVED_FROM

 
class MonitorFile(ProcessEvent):                                         
    def process_IN_CREATE(self, event):
        print   " CREATE: %s "  %   os.path.join(event.path, event.name)

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

    def process_IN_MOVED_TO(self, event):
        print   " MOVED_TO: %s "  %   os.path.join(event.path, event.name)

    def process_IN_MOVED_FROM(self, event):
        print   " MOVED_FROM: %s "  %   os.path.join(event.path, event.name)

path = "/usr/local/etc/"
gobject.threads_init()
wm = WatchManager()
mask = IN_DELETE|IN_CREATE|IN_MOVED_TO|IN_MOVED_FROM
notifier = ThreadedNotifier(wm, MonitorFile ())
wm.add_watch(path, mask,rec=True)
notifier.start()
 

if __name__ == "__main__":

    try:
        while True:
            pass
    except Exception,e:
         print str(e)
         notifier.stop()
阅读(3036) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~