시스템 개발 및 관리/Windows 환경 파일 자동화

파이썬으로 다운로드 폴더 정리 자동화하기!

Data Jun 2025. 3. 24. 10:16

소원이는 오늘도 평화롭게 일하고 있었지만, downloads 폴더를 본 순간 멘붕이 왔습니다.
수많은 파일들이 뒤죽박죽 섞여 있어서 원하는 파일을 찾을 수 없는 상황!
이럴 때 필요한 건 손 정리가 아닌 자동 정리 프로그램이죠. 😎

 

목표

  • 확장자나 파일 이름에 따라 파일을 정리
  • 기존 파일은 삭제하지 않고 복사로 이동
  • 정리 기준에 따라 usb 폴더 안의 하위 폴더로 분류

 

정리 기준

 

🧑‍💻 핵심 코드

import os
import shutil

# 확장자 조건
report_ext = ['.hwp', '.docx', '.pptx']
img_ext = ['.png', '.jpg', '.svg']
src_dir = 'downloads'

# usb 디렉토리 기준
usb_root = 'usb'

# 파일 순회
for file_name in os.listdir(src_dir):
    name, ext = os.path.splitext(file_name)
    src_path = os.path.join(src_dir, file_name)

    # 문서 파일
    if ext in report_ext:
        dst_dir = os.path.join(usb_root, 'docs')
    
    # 이미지 파일
    elif ext in img_ext:
        if 'screenshot' in name.lower():
            dst_dir = os.path.join(usb_root, 'screenshots')
        else:
            dst_dir = os.path.join(usb_root, 'images')

    # 기타 파일
    else:
        dst_dir = os.path.join(usb_root, 'etc')

    # 폴더 없으면 생성
    os.makedirs(dst_dir, exist_ok=True)

    # 복사
    shutil.copy(src_path, dst_dir)

    # 로그 출력
    print(f"{file_name} -> {os.path.basename(dst_dir)}로 복사")

 

실행 예시

screenshot_2025-03-11 21_21_40.png -> screenshots로 복사  
test_image.svg -> images로 복사  
accounting_report.pptx -> docs로 복사  
codeit_cs.png -> images로 복사  
codeit_lecture.pdf -> etc로 복사

 

 

포인트 요약

 

 

이런 분에게 추천!

  • 다운로드 폴더가 지저분한 걸 못 참는 분
  • 폴더 정리를 자주 깜빡하는 분
  • 업무 파일/이미지를 USB 등으로 빠르게 백업하고 싶은 분

 

파이썬 자동화 코드는 생각보다 간단하면서도 강력합니다.
한 번만 짜두면, 앞으로는 버튼 한 번 누르는 것처럼 폴더 정리가 끝나요!

다음엔 날짜별 백업 자동화파일 용량별 분류도 도전해보세요 😊