파일들이 뒤죽박죽 엉켜 있진 않으신가요?
오늘은 파이썬으로 파일들을 자동으로 종류별로 정리해주는 프로그램을 만들어보고, 실제 테스트도 해보겠습니다.
목차
1. 어떤 프로그램인가요?
파이썬의 os와 shutil 표준 라이브러리를 사용해, 지정한 폴더 안의 파일들을 확장자에 따라 자동으로 분류합니다.
- 이미지, 문서, 압축파일, 음악 등 카테고리별 정리
- 정리 기준은 확장자이며, 기타는 별도 처리
- 중복되는 폴더가 자동 생성되고 파일이 이동됩니다
2. 테스트용 더미 파일 생성기
먼저, 자동 정리 기능을 실험하기 위해 다양한 확장자의 더미 파일을 생성해봅니다.
import os
import random
import string
dummy_folder = r"C:\Users\seonggyu\Desktop\dummy_test"
os.makedirs(dummy_folder, exist_ok=True)
dummy_files = {
"이미지": [".jpg", ".png", ".gif"],
"문서": [".pdf", ".docx", ".txt", ".xlsx"],
"압축": [".zip", ".rar"],
"영상": [".mp4", ".avi"],
"음악": [".mp3", ".wav"],
"기타": [".dat", ".bak", ".tmp"]
}
def random_filename(length=8):
return ''.join(random.choices(string.ascii_letters + string.digits, k=length))
for category, extensions in dummy_files.items():
for ext in extensions:
for _ in range(3):
filename = random_filename() + ext
filepath = os.path.join(dummy_folder, filename)
with open(filepath, "w") as f:
f.write(f"This is a dummy {category} file: {filename}\n")
print("테스트용 더미 파일 생성 완료.")
위 코드를 실행하면 다양한 파일이 담긴 dummy_test 폴더가 생성됩니다.

테스트를 위한 더미 파일들 만들었습니다. 아래 사진에서 확인 가능합니다.

3. 파일 자동 정리기 코드
이제 본격적으로 파일을 정리하는 코드를 작성합니다. 대상 폴더를 dummy_test로 지정하면 실험도 쉽게 할 수 있습니다.
import os
import shutil
target_folder = r"C:\Users\seonggyu\Desktop\dummy_test"
categories = {
"이미지": [".jpg", ".jpeg", ".png", ".gif", ".bmp"],
"문서": [".pdf", ".docx", ".doc", ".hwp", ".txt", ".xlsx"],
"프로그램": [".exe", ".msi"],
"압축파일": [".zip", ".rar", ".7z"],
"영상": [".mp4", ".avi", ".mkv", ".mov"],
"음악": [".mp3", ".wav", ".flac"],
"기타": []
}
def organize_files(folder_path):
files = os.listdir(folder_path)
for file in files:
file_path = os.path.join(folder_path, file)
if os.path.isfile(file_path):
ext = os.path.splitext(file)[1].lower()
moved = False
for category, ext_list in categories.items():
if ext in ext_list:
target_dir = os.path.join(folder_path, category)
os.makedirs(target_dir, exist_ok=True)
shutil.move(file_path, os.path.join(target_dir, file))
moved = True
break
if not moved:
other_dir = os.path.join(folder_path, "기타")
os.makedirs(other_dir, exist_ok=True)
shutil.move(file_path, os.path.join(other_dir, file))
print("파일 정리가 완료되었습니다.")
organize_files(target_folder)
4. 실행 결과

실행 전에는 파일이 모두 한 폴더에 섞여 있었지만, 코드 실행 후 아래처럼 깔끔하게 정리됩니다.

각 폴더 안에는 해당 확장자를 가진 파일들이 자동으로 이동되어 있습니다.


다운로드 폴더에 너무 많은 파일들이 섞여있어서 보기 힘들때 아주 유용한 코드입니다.
더 참신한 아이디어가 있다면 댓글로 알려주세요.
'개발 & 코딩' 카테고리의 다른 글
| 파이썬 for문과 리스트 기초부터 예제까지 (0) | 2025.06.22 |
|---|---|
| 파이썬 if문과 while문 기초 및 실습 예제 (0) | 2025.06.21 |
| Python OCR 이미지 텍스트 인식 성능 알아보기 (0) | 2025.06.19 |
| AI 지뢰찾기 - Cursor와 Windsurf를 활용한 100x100 지뢰찾기 AI (0) | 2025.06.15 |
| LG 인공지능 LLM 엑사원 EXAONE 3.5 설치 deepseek 간단 비교 (1) | 2025.06.15 |