2


下面是移动事件看门狗的简单示例。如果我们运行这个程序并在“监视器”文件夹(mv *.xml 监视器)中移动 50 个文件,那么我们只收到 1 个事件。如果我们增加队列大小和超时,那么接收到的事件数量会增加 4 到 5,但它的行为很奇怪。

    observer = Observer(timeout=0.001)
    observer.event_queue.maxsize=100 

任何人都可以解释如何接收所有事件。谢谢

import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler

class Myhandler(FileSystemEventHandler):
    def on_moved(self, event):
        print "Received evet:", event.dest_path

if __name__ == "__main__":
    event_handler = Myhandler()
    observer = Observer()
    observer.schedule(event_handler, path='monitor', recursive=True)
    observer.start()
    try:
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        observer.stop()
    observer.join()
4

0 回答 0