파일 자동 정리 스크립트란?

폴더 내에 파일을 저장할 때, 확장자명 (jpg, png, txt, pdf ... ) 에 따라 자동으로 분류하여 저장하도록 하는 프로그램.

이력서, 증명 사진 등등이 늘어나 폴더 내에 파일들이 너무 중구난방식으로 저장되어 정리가 필요한데, 앞으로 늘어날 때마다 자동으로 정리하기 위해 프로그램 생성

 

계획

대표적으로 Python에서 파일 자동 정리를 위한 라이브러리로 shutil이라는 라이브러리를 사용하지만, 이는 명백한 단점이 존재.

파일을 저장할 때마다 수동으로 프로그램을 실행시켜야 파일이 정리됌. 이는 자동 정리라는 목표에 부합하지 않음.

그러면 파일이 들어왔을 때 이를 감지하는 라이브러리는 없을까? 알아본 결과, watchdog이라는 라이브러리를 발견.

이는 폴더에 파일이 들어왔을 때, 이를 감지하고 알림을 주는 기능을 한다.

두 라이브러리를 사용하기 위한 것들을 정리해봤다.

shutil 파일 이동 ❌ 표준 라이브러리
os 경로 생성, 파일 검사 등 ❌ 표준 라이브러리
watchdog 파일 시스템 감시 ✅ pip install watchdog 필요
time 루프 유지를 위한 대기 등 ❌ 표준 라이브러리
logging 콘솔 메시지 출력용  ❌ 표준 라이브러리

 

예상 폴더 구조

project_folder/
│
├── auto_organizer.py     ← 메인 실행 파일
├── config.py             ← 확장자별 정리 규칙 정의
├── handler.py            ← 이벤트 핸들러 정의
└── README.md             ← 프로젝트 설명 및 사용법

 

예상 시나리오

 

  • 프로그램이 실행되면 Observer가 해당 폴더 감시 시작
  • 새 파일이 생성되면 이벤트 발생
  • 핸들러가 해당 파일의 확장자 확인
  • shutil을 이용해 해당하는 폴더로 이동
  • 이동이 완료되면 로그 출력

 

+ Recent posts