공식 문서 참고
이미 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/
- 외부 라이브러리로, 파일 시스템 상의 변화를 감지하는 데 사용
- 기본 구조:
- Observer 객체를 통해 감시할 폴더를 지정
- FileSystemEventHandler를 상속한 클래스를 만들고 on_created() 등 이벤트 메서드 구현
- observer.schedule()을 통해 감시 대상과 핸들러를 연결
- 감지 가능한 이벤트 종류: 파일 생성, 수정, 삭제, 이동 등
- 문서에서는 Observer 패턴에 따라 클래스를 분리해서 설계할 것을 권장
세부 설계 방향
- watchdog → 실시간 이벤트 감지 (on_created 사용 예정)
- shutil → 감지된 파일을 자동으로 분류/이동 처리이를 기반으로 코드 구조를 아래와 같이 나눌 예정:
- handler.py → 감지된 이벤트에 따라 동작하는 핸들러 정의
- config.py → 확장자별 분류 규칙을 설정하는 설정 파일
'File Organization' 카테고리의 다른 글
[Python] 파일 자동 정리 스크립트 4 (3) | 2025.07.10 |
---|---|
[Python] 파일 자동 정리 스크립트 3 (0) | 2025.07.10 |
[Python] 파일 자동 정리 스크립트 1 (0) | 2025.07.10 |