我正在尝试使用 Python 的看门狗模块来监听文件系统的变化。我想监视来自两个不同目录的文件。对于单个文件监视,我使用PatternMatchingEventHandler
了 from watchdog.events
. 我想对多个目录使用相同的。
代码:
import time
from watchdog.observers import Observer
from watchdog.events import PatternMatchingEventHandler
class EventHandler(PatternMatchingEventHandler):
def on_modified(self, event):
super(EventHandler, self).on_modified(event)
print event
if __name__ == "__main__":
dir_name = ["/home/user1/first", "/home/user1/second"]
observer = Observer()
patterns = ["/home/user1/first/first.log","/home/user1/second/second.log")]
for i in xrange(len(dir_name)):
event_handler = EventHandler(patterns = patterns[i])
observer.schedule(event_handler, dir_name[i], recursive=True)
observer.start()
try:
while True:
time.sleep(0.1)
except KeyboardInterrupt:
observer.stop()
在上面的代码中,我尝试进行多目录观察格式并为每个文件创建一个事件处理程序。它不适合我。有什么我在这里想念的吗?这样做的方法是什么?
谢谢。