폴더 난장판 종결! 파이썬으로 파일 키워드 자동 분류하기
폴더 난장판 종결! 파이썬으로 파일 키워드 자동 분류하기 (완성 코드 공개)
"견적서_A사_최종.xlsx", "계약서_B사_검토중.pdf", "회의록_2026_05.docx", "스크린샷_20260501.png"…
다운로드 폴더나 바탕화면에 수백 개의 파일이 뒤섞여 있을 때, 필요한 파일을 찾으려면 눈이 빠질 것 같습니다. 파일명을 하나씩 보면서 '견적서' 폴더, '계약서' 폴더로 옮기는 작업은 시간도 걸리고 실수도 납니다. 파이썬을 한 번만 세팅해두면 이 분류 작업을 영구적으로 없앨 수 있습니다.
1단계: 준비물 설치
파이썬이 설치되어 있어야 합니다. 없다면 python.org에서 최신 버전을 받아 설치하세요. 설치 시 반드시 "Add Python to PATH"에 체크해야 합니다. 이 항목을 빠뜨리면 나중에 명령어가 작동하지 않습니다.
이번 스크립트는 파이썬 기본 내장 라이브러리만 사용합니다. 별도 설치가 필요 없습니다. 파이썬만 설치되어 있으면 바로 실행됩니다.
💡 이 코드로 할 수 있는 것: 폴더 안의 모든 파일을 스캔해서, 파일명에 특정 키워드가 포함된 경우 지정한 하위 폴더로 자동 이동합니다. 예를 들어 "견적서"가 파일명에 들어간 파일은 모두📁견적서폴더로, "계약서"가 들어간 파일은 모두📁계약서폴더로 자동 이동됩니다.
2단계: 완성 코드
아래 코드를 그대로 복사해서 메모장에 붙여넣고, file_sorter.py로 저장하세요. 저장 시 파일 형식은 "모든 파일", 인코딩은 UTF-8로 설정합니다.
import shutil
from pathlib import Path
# ① 설정: 분류할 파일이 있는 폴더 경로
FOLDER_PATH = r"C:\Users\내이름\Desktop\정리할폴더" # ← 본인 경로로 수정
# ② 설정: 키워드와 이동할 폴더명 규칙 (원하는 대로 추가/수정 가능)
RULES = {
"견적서": "📁견적서",
"계약서": "📁계약서",
"회의록": "📁회의록",
"보고서": "📁보고서",
"영수증": "📁영수증",
"스크린샷": "📁스크린샷",
}
# ③ 분류 실행 (이 아래는 수정하지 않아도 됩니다)
folder = Path(FOLDER_PATH)
moved = 0
skipped = 0
for file in folder.iterdir():
if not file.is_file():
continue # 폴더는 건너뜀
matched = False
for keyword, dest_name in RULES.items():
if keyword in file.name:
dest_folder = folder / dest_name
dest_folder.mkdir(exist_ok=True) # 폴더 없으면 자동 생성
dest_path = dest_folder / file.name
if dest_path.exists():
print(f" ⚠ 중복 건너뜀: {file.name}")
skipped += 1
else:
shutil.move(str(file), str(dest_path))
print(f" ✔ {file.name} → {dest_name}/")
moved += 1
matched = True
break # 첫 번째 매칭 규칙에만 적용
if not matched:
print(f" - 규칙 없음 (유지): {file.name}")
print(f"\n✅ 완료! 이동: {moved}개 / 중복 건너뜀: {skipped}개")
3단계: 실행 방법
- 분류할 파일들을 하나의 폴더에 모아둡니다. (또는 이미 파일이 있는 폴더를 그대로 사용)
- 코드 ① 설정줄의
FOLDER_PATH에 그 폴더 경로를 넣습니다.
💡 팁: 윈도우 탐색기에서 폴더를 열고 주소창을 클릭하면 경로를 바로 복사할 수 있습니다. - 코드 ② 설정의
RULES에 원하는 키워드와 폴더명을 추가하거나 수정합니다. - 터미널에서 아래 명령어로 실행합니다:
python file_sorter.py
정상 실행 시 터미널에 이렇게 출력됩니다:
✔ 견적서_A사_최종.xlsx → 📁견적서/ ✔ 견적서_B사_1차.xlsx → 📁견적서/ ✔ 계약서_C사_검토중.pdf → 📁계약서/ ✔ 회의록_2026_05.docx → 📁회의록/ - 규칙 없음 (유지): 임시메모.txt ✅ 완료! 이동: 4개 / 중복 건너뜀: 0개
규칙에 해당하는 파일은 지정한 폴더로 이동하고, 어떤 키워드에도 해당하지 않는 파일은 원래 자리에 그대로 유지됩니다. 삭제는 절대 하지 않으므로 안심하고 실행할 수 있습니다.
4단계: 자주 발생하는 오류와 해결법
오류 1: FileNotFoundError
FOLDER_PATH에 입력한 경로가 잘못된 경우입니다. 경로 앞에 r을 붙였는지 확인하세요 (r"C:\..." 형태). r을 빠뜨리면 백슬래시(\)가 특수문자로 처리되어 경로 인식에 실패합니다.
오류 2: 파일이 이동되지 않고 "규칙 없음(유지)"만 출력됨
RULES에 입력한 키워드가 실제 파일명과 다를 때 발생합니다. 파일명에 공백이나 특수문자가 있는지 확인하세요. 예를 들어 파일명이 "견 적서_A사.xlsx"처럼 중간에 공백이 있으면 "견적서" 키워드로 매칭되지 않습니다.
오류 3: PermissionError
이동하려는 파일이 현재 다른 프로그램(엑셀, 워드 등)에서 열려 있을 때 발생합니다. 해당 파일을 닫은 후 다시 실행하세요.
응용: 확장자별로도 동시에 분류하고 싶다면
키워드뿐만 아니라 파일 확장자까지 함께 분류 기준으로 삼고 싶다면, RULES에 확장자를 키워드처럼 추가하면 됩니다.
RULES = {
"견적서": "📁견적서",
"계약서": "📁계약서",
".jpg": "📁이미지", # 확장자 기준 분류
".png": "📁이미지",
".mp4": "📁동영상",
".zip": "📁압축파일",
}
파일명에 "견적서"가 포함된 .jpg 파일은 키워드 규칙이 먼저 적용되어 📁견적서로 이동합니다. 규칙 순서가 곧 우선순위이므로, 더 중요한 규칙을 위쪽에 배치하세요.
💡 매달 반복되는 정리 작업이라면: 이 .py 파일을 바탕화면에 저장해두고, 분류할 파일들을 대상 폴더에 넣은 뒤 더블클릭하면 됩니다. 한 번 만들어두면 규칙을 바꾸지 않는 한 영구적으로 재사용할 수 있습니다.
핵심 요약
- 준비물: Python만 설치하면 됩니다. 별도 라이브러리 설치 불필요
- 설정: FOLDER_PATH(대상 폴더)와 RULES(키워드-폴더 규칙)만 수정
- 실행: 터미널에서 python file_sorter.py 입력
- 결과: 키워드에 맞는 파일이 자동 분류, 해당 없는 파일은 원래 위치 유지 (삭제 없음)
이 코드를 응용하면 날짜 기준 분류, 파일 크기 기준 분류, 특정 날짜 이전 파일만 골라 보관하는 것도 가능합니다.
