[Python] 디렉토리 감시 이벤트

2024. 2. 20. 17:11카테고리 없음

일전에 Java를 통하여 디렉토리의 이벤트 소스를 확인하였다. 

이번에는 파이썬 버전을 확인해 보고자 하였다. 

 

파이썬에서는 Watchdog이라는 라이블러리를 사용하여 진행할 수 있다. 

 

1. watchdog 라이블러리 설치

pip install watchdog

 

2. 파이썬 소스

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

class MyHandler(FileSystemEventHandler):
    def on_modified(self, event):
        if event.is_directory:
            return
        # 파일이 수정되었을 때 실행할 동작을 여기에 작성합니다.
        print(f'파일이 수정되었습니다: {event.src_path}')

    def on_created(self, event):
        if event.is_directory:
            return
        # 파일이 생성되었을 때 실행할 동작을 여기에 작성합니다.
        print(f'파일이 생성되었습니다: {event.src_path}')

    def on_deleted(self, event):
        if event.is_directory:
            return
        # 파일이 삭제되었을 때 실행할 동작을 여기에 작성합니다.
        print(f'파일이 삭제되었습니다: {event.src_path}')

if __name__ == "__main__":
    folder_to_watch = '/mnt'
    event_handler = MyHandler()
    observer = Observer()
    observer.schedule(event_handler, folder_to_watch, recursive=True)
    observer.start()
    print(f'폴더 감시 시작: {folder_to_watch}')

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

 

해당 사항의 내용을 확인하여 특정 이벤트가 발생할 경우에 처리하면 될 것 같다. 

반응형