[파이썬] 파일의 디렉토리 내 파일 변경사항 확인

파일이나 디렉토리의 변경사항을 감지하고 알아내는 것은 많은 상황에서 유용합니다. 파이썬을 사용하여 파일의 디렉토리 내 파일 변경사항을 확인하는 방법에 대해 알아보겠습니다.

Watchdog 라이브러리 설치하기

Watchdog는 Python에서 파일 변경 이벤트를 모니터링 할 수 있는 라이브러리입니다. 먼저 Watchdog를 설치해야 합니다. 다음 명령을 터미널에서 실행하여 Watchdog를 설치하세요:

pip install watchdog

예제 코드

아래는 Watchdog를 사용하여 파일의 디렉토리 내 파일 변경사항을 감지하는 예제 코드입니다:

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

class MyEventHandler(FileSystemEventHandler):
    def on_modified(self, event):
        if not event.is_directory:
            print(f"변경된 파일: {event.src_path}")

if __name__ == "__main__":
    path = "/path/to/directory"  # 감지할 디렉토리 경로
    event_handler = MyEventHandler()
    observer = Observer()
    observer.schedule(event_handler, path, recursive=True)
    observer.start()

    try:
        while True:
            pass
    except KeyboardInterrupt:
        observer.stop()
        observer.join()

위의 예제 코드는 MyEventHandler 클래스를 정의하고, 해당 클래스에서 on_modified 메서드를 재정의하여 파일이 수정될 때마다 메시지를 출력합니다. path 변수에는 감지할 디렉토리 경로를 지정해야 합니다.

실행하기

위의 예제 코드를 스크립트 파일로 저장하고 실행하세요. 스크립트가 실행되면 Watchdog는 지정한 디렉토리의 변경사항을 모니터링하고, 파일이 수정될 때마다 메시지를 출력합니다. 실행 중지하려면 Ctrl + C를 누르세요.

추가 정보

Watchdog는 파일 생성, 삭제, 이동 등의 이벤트도 감지할 수 있습니다. 자세한 내용은 공식 문서를 참조하세요.

파일의 디렉토리 내 파일 변경사항을 감지하여 실시간으로 처리하려는 경우, Watchdog는 매우 유용한 도구입니다. 이를 활용하여 파일 시스템 감시 기능을 구현할 수 있습니다.