3

JavaScript ファイルの変更を監視できるように、ウォッチドッグを設定しようとしています。ただし、1 つのファイルが変更されると、常に重複したイベントが発生します。

ファイルが変更されたときにイベントの時刻を調べ、前のイベントと同じ秒であれば何もしないように設定したいと思います。このようにして、重複したイベントを無視できます。これを達成し、常に前のイベントの時間を変数に格納する方法はありますか?

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


class MyHandler(FileSystemEventHandler):
    def on_modified(self, event):
        print(time.ctime(), f'path : {event.src_path}')


if __name__ == "__main__":
    event_handler = MyHandler()
    observer = Observer()
    observer.schedule(event_handler, path=path.join(path.dirname(__file__), 'static/js'), recursive=False)
    observer.start()

    try:
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        observer.stop()
    observer.join()
4

2 に答える 2