Python으로 파일 정리 자동화 봇 개발

평일 저녁 11시 59분, 테이블 정리 자동화 봇 개발

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

DevOps

대상자

  • 대상: 자동화 스크립트 개발에 관심 있는 개발자 및 효율성 향상에 관심 있는 일반 사용자
  • 난이도: 중급 (Python 기초 및 Task Scheduler/cron 사용 경험 필요)

핵심 요약

  • 자동화 핵심 기능: shutil.move()Pathlib 활용한 파일 분류 알고리즘
  • 런타임 자동화: Windows Task SchedulermacOS/Linux cron을 통해 매일 23:59 실행
  • 카테고리 구조: "Images", "Documents", "Zips" 등 5개 분류 폴더 자동 생성

섹션별 세부 요약

1. 문제 상황 및 목표

  • 현재 문제: 데스크탑에 분산된 파일(이미지, 문서, 압축파일 등)으로 인한 혼란
  • 목표: 매일 밤 11:59에 자동 정리 스크립트 실행
  • 수익성: 수동 정리 시간 절약 및 데스크탑 정리 유지

2. 스크립트 작동 원리

  • 파일 스캔: Path.home() / "Desktop" 경로의 모든 파일을 iterdir()으로 탐색
  • 분류 기준: 확장자 기반 categories 딕셔너리 매칭 (예: .jpg"Images")
  • 이동 처리: shutil.move()로 분류 폴더로 이동, 미분류 파일은 "Others" 폴더 생성

3. Python 스크립트 구현

  • 핵심 라이브러리: os, shutil, pathlib 사용
  • 코드 구조:

```python

def organize():

for file in desktop.iterdir():

if file.is_file():

moved = False

for folder, extensions in categories.items():

if file.suffix.lower() in extensions:

move_file(file, desktop / folder)

moved = True

break

if not moved:

move_file(file, desktop / "Others")

```

  • 실행 조건: if __name__ == "__main__"에서 organize() 직접 호출

4. 자동화 설정 방법

  • Windows:
  1. Task Scheduler에서 새 작업 생성
  2. 실행 시간: 매일 23:59
  3. 실행 프로그램: python C:\path\to\desktop_organizer.py
  • macOS/Linux:
  1. crontab -e 실행
  2. 59 23 * /usr/bin/python3 /path/to/desktop_organizer.py 추가

5. 결과 및 확장 가능성

  • 실적: 매일 자동 정리로 데스크탑 정리 유지
  • 확장 아이디어: 스크린샷 자동 삭제, 날짜 기반 분류, 클라우드 동기화 추가

결론

  • 핵심 팁: GitHub 저장소 (Nish2005karsh)에서 스크립트 직접 다운로드 가능
  • 추천: Pathlib 활용으로 OS 독립적 파일 경로 처리 가능
  • 실무 적용: 자동화 스크립트를 기반으로 한 DevOps CI/CD 플로우 확장 가능