使用pyinotify 检测文件夹内容变化

使用 pyinotify 监测文件夹的内文件的变化,需要两步,安装和代码编写


1.安装

 使用简单的方法 

# easy_install pyinotify

2. 代码编写


from  pyinotify import  WatchManager, Notifier,ProcessEvent,EventsCodes

class EventHandler(ProcessEvent): # 事件处理函数,应与 FSMonitor类的 mask变量一致(设置监听的事件类型)
    """事件处理"""
    def process_IN_CREATE(self, event):

        print   ("Create file: %s "  %   event.path)
#  
#     def process_IN_DELETE(self, event):
#         print  ( "Delete file: %s "  %   event.path)
#  
    def process_IN_MODIFY(self, event):
        print  ( "Modify file: %s "  %   event.path)

 
def FSMonitor(path='/root/xml/'):
        wm = WatchManager()
        mask =EventsCodes.FLAG_COLLECTIONS['OP_FLAGS']['IN_MODIFY'] #|EventsCodes.FLAG_COLLECTIONS['OP_FLAGS']['IN_CREATE'] 设置监听的事件(或操作)
        print('mask==',mask)
        
        notifier = Notifier(wm, EventHandler())
        wm.add_watch(path, mask,rec=True)
        print( 'now starting monitor %s'%(path))
        while True:
                try:
                        notifier.process_events()
                        if notifier.check_events():
                                notifier.read_events()
                except KeyboardInterrupt:
                        notifier.stop()
                        break
 
if __name__ == "__main__":
    FSMonitor()

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值