공식 문서 참고

이미 shutil과 watchdog을 사용하는 예제들은 블로그나 커뮤니티에 많이 나와 있지만,
각 라이브러리가 어떤 구조로 설계되어 있고, 어떤 동작 흐름을 따르는지 정확히 이해하기 위해
공식 문서를 먼저 참고했다.

 

shutil 공식 문서 요약

https://docs.python.org/ko/3.13/library/shutil.html

 

shutil — High-level file operations

Source code: Lib/shutil.py The shutil module offers a number of high-level operations on files and collections of files. In particular, functions are provided which support file copying and removal...

docs.python.org

 

  • 표준 라이브러리이며, 파일 및 디렉토리를 복사, 이동, 삭제할 수 있는 고수준 함수를 제공
  • 주요 함수: move(), copy(), rmtree() 등
  • move()는 내부적으로 상황에 따라 os.rename() 또는 복사 후 삭제 방식으로 동작
  • 따라서 파일 이동 시 예외 처리(파일 충돌, 경로 존재 여부 등)를 고려해야 함

 

watchdog 공식 문서 요약

https://python-watchdog.readthedocs.io/en/stable/

 

  • 외부 라이브러리로, 파일 시스템 상의 변화를 감지하는 데 사용
  • 기본 구조:
    1. Observer 객체를 통해 감시할 폴더를 지정
    2. FileSystemEventHandler를 상속한 클래스를 만들고 on_created() 등 이벤트 메서드 구현
    3. observer.schedule()을 통해 감시 대상과 핸들러를 연결
  • 감지 가능한 이벤트 종류: 파일 생성, 수정, 삭제, 이동 등
  • 문서에서는 Observer 패턴에 따라 클래스를 분리해서 설계할 것을 권장

 

세부 설계 방향

 

  • watchdog → 실시간 이벤트 감지 (on_created 사용 예정)
  • shutil → 감지된 파일을 자동으로 분류/이동 처리이를 기반으로 코드 구조를 아래와 같이 나눌 예정:
    • handler.py → 감지된 이벤트에 따라 동작하는 핸들러 정의
    • config.py → 확장자별 분류 규칙을 설정하는 설정 파일

 

 

 

+ Recent posts