我正在使用带有pyinotify的Celery来监控模块的变化,但是Celery的功能不起作用。我想弄清楚为什么。所以我测试了 pyinotify 模块并出现了问题。
我按照 pyinotify 的教程编写了一些代码:
import pyinotify
wm = pyinotify.WatchManager()
mask = pyinotify.IN_MODIFY | pyinotify.IN_ATTRIB
class EventHandler(pyinotify.ProcessEvent):
def process_IN_MODIFY(self, event):
print "IN_MODIFY:", event.pathname
def process_IN_ATTRIB(self, event):
print "IN_ATTRIB:", event.pathname
handler = EventHandler()
notifier = pyinotify.Notifier(wm, handler)
wdd = wm.add_watch('/home/mp/Public/testfile', mask, rec=True)
notifier.loop()
我用 gedit 和 CommandLine echo 更改了 '/home/mp/Public/testfile' 两次:
/usr/bin/python2.7 /home/mp/PycharmProjects/pywork/mpyinotify/inotify.py
IN_ATTRIB: /home/mp/Public/testfile
IN_ATTRIB: /home/mp/Public/testfile
然后我继续修改文件,但是无论你修改多少次文件都没有回显。
pyinotify 0.9.6