以下は、移動イベントのウォッチドッグの簡単な例です。このプログラムを実行して「モニター」フォルダー (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()