매일 쌓이는 다운로드 폴더,
어느새 스크린샷, 압축파일, 이미지, 문서가 뒤섞여 보기만 해도 스트레스를 줍니다.
오늘은 파이썬으로 이 복잡한 폴더를 자동으로 정리하는 스크립트를 만들어봅니다.
한 번만 만들어두면 언제든 실행할 수 있고,
윈도우 작업 스케줄러를 통해 매일 자동 정리도 가능합니다.
📁 폴더 구조 예시
- 정리 대상 폴더: C:\Users\사용자\Downloads
- 분류 기준 폴더:
- Downloads\Images
- Downloads\Docs
- Downloads\Zips
- Downloads\Etc
🧩 정리 기준 설정
- 이미지: .jpg, .png, .jpeg, .gif
- 문서: .docx, .pptx, .xlsx, .pdf
- 압축: .zip, .rar
- 그 외: Etc로 분류
🐍 파이썬 코드
```python
import os
import shutil
# 대상 폴더 경로
target_dir = os.path.expanduser('~/Downloads')
# 분류 기준 정의
file_map = {
'Images': ['.jpg', '.jpeg', '.png', '.gif'],
'Docs': ['.docx', '.pptx', '.xlsx', '.pdf'],
'Zips': ['.zip', '.rar'],
}
def sort_files():
for filename in os.listdir(target_dir):
src = os.path.join(target_dir, filename)
if os.path.isfile(src):
ext = os.path.splitext(filename)[1].lower()
moved = False
for folder, ext_list in file_map.items():
if ext in ext_list:
dest = os.path.join(target_dir, folder)
os.makedirs(dest, exist_ok=True)
shutil.move(src, os.path.join(dest, filename))
moved = True
break
if not moved:
etc = os.path.join(target_dir, 'Etc')
os.makedirs(etc, exist_ok=True)
shutil.move(src, os.path.join(etc, filename))
if __name__ == '__main__':
sort_files()
```
🔁 실행 방법
1. 위 코드를 `sort_downloads.py`로 저장
2. 더블 클릭하거나 명령 프롬프트에서 `python sort_downloads.py` 실행
3. 윈도우 작업 스케줄러(Task Scheduler)에서 매일 자동 실행 등록 가능
📌 추가 팁
- 바탕화면도 같은 구조로 응용 가능
- USB 연결 시 자동 정리도 스크립트 확장 가능
- GitHub 백업 자동화, 클라우드 동기화와 연계도 가능
이렇게 만들어 두면 귀찮아서 미뤄뒀던 폴더 정리를
자동으로 처리할 수 있어 훨씬 쾌적한 작업환경을 유지할 수 있습니다.
'PYTHON > 고급학습' 카테고리의 다른 글
고급 7편] 파이썬으로 특정 이벤트 발생 시 자동 실행하기.zip (0) | 2025.05.19 |
---|---|
고급 6편] 파이썬으로 자동 백업 스크립트 만들기.zip (0) | 2025.05.18 |
고급 4편] 텔레그램 봇으로 파이썬 자동 알림 보내기.zip (0) | 2025.05.17 |
고급 3편] 실시간 로그 감시로 자동 작업 실행하기.zip (0) | 2025.05.17 |
[고급 1편] 파이썬으로 매일 자동 실행하는 방법.zip (0) | 2025.05.15 |