我正在制作手表
/temp
目录。我想查看此目录中的任何新目录,例如
/temp/dir1, /temp/dir2, temp/dir3.
我想查看创建的新目录以查找“提交”之类的文件并执行必要的操作。
现在我正在 /temp 目录上创建一个监视,在 IN_CREATE 事件上我检查它是否是一个目录,如果是,我在找到的新目录上放置一个新的监视并调用另一个事件处理程序。
代码:
import asyncore
import pyinotify
wm = pyinotify.WatchManager() # Watch Manager
mask = pyinotify.IN_CREATE # watched events
class EventHandler(pyinotify.ProcessEvent):
def process_IN_CREATE(self, event):
print "dir: ", event.dir
print "Creating now: ", event.pathname
print "Event Path: ", event.path
print "Event name: ", event.name
new_notifier = pyinotify.AsyncNotifier(wm, EventHandlerForNewDir())
if event.dir:
print "Setting up second watch"
wdd2 = wm.add_watch(event.pathname, mask, rec=True)
new_notifier.loop()
class EventHandlerForNewDir(pyinotify.ProcessEvent):
def process_IN_CREATE(self, event):
print "dir: ", event.dir
print "Creating now: ", event.pathname
print "Event Path: ", event.path
print "Event name: ", event.name
if (event.name == 'submit' and not (event.dir)):
print "You are Awesome"
notifier = pyinotify.AsyncNotifier(wm, EventHandler())
wdd = wm.add_watch('/temp', mask, rec=True)
notifier.loop()
如果在手表内创建手表的方法是正确的,那么一旦找到文件,我该如何停止我的内部手表?