php inotify使用案例,Python中使用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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值