下面是移动事件看门狗的简单示例。如果我们运行这个程序并在“监视器”文件夹(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()