Python

Pythonでフォルダ監視 watchdog 002

Pythonでフォルダ監視 編集ファイルの取得

前回からの変更点

監視フォルダ内にある既存のファイルの編集イベントを取得する処理を追加

イベントクラスの作成

新規作成時と同様に引数にselfとイベントを設定したon_modified(self,event)を作成

import time
import os

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


watch_dir = "監視フォルダパス"


class ChangeHandler(FileSystemEventHandler):
    #001
    def on_created(self, event):
        filepath = event.src_path
        filename = os.path.basename(filepath)
        print('%sが新規で作成!' % filename)
    
    #002
    def on_modified(self, event):
        filepath = event.src_path
        filename = os.path.basename(filepath)
        print('%sが修正されたよ!' % filename)


if __name__ in '__main__':
    while 1:
        event_handler = ChangeHandler()
        observer = Observer()
        observer.schedule(event_handler, watch_dir, recursive=True)
        observer.start()
        try:
            while True:
                time.sleep(0.1)
        except KeyboardInterrupt:
            observer.stop()
        observer.join()