평일 저녁 11시 59분, 테이블 정리 자동화 봇 개발
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
DevOps
대상자
- 대상: 자동화 스크립트 개발에 관심 있는 개발자 및 효율성 향상에 관심 있는 일반 사용자
- 난이도: 중급 (Python 기초 및 Task Scheduler/cron 사용 경험 필요)
핵심 요약
- 자동화 핵심 기능:
shutil.move()
와Pathlib
활용한 파일 분류 알고리즘 - 런타임 자동화:
Windows Task Scheduler
와macOS/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:
Task Scheduler
에서 새 작업 생성- 실행 시간: 매일 23:59
- 실행 프로그램:
python C:\path\to\desktop_organizer.py
- macOS/Linux:
crontab -e
실행59 23 * /usr/bin/python3 /path/to/desktop_organizer.py
추가
5. 결과 및 확장 가능성
- 실적: 매일 자동 정리로 데스크탑 정리 유지
- 확장 아이디어: 스크린샷 자동 삭제, 날짜 기반 분류, 클라우드 동기화 추가
결론
- 핵심 팁: GitHub 저장소 (
Nish2005karsh
)에서 스크립트 직접 다운로드 가능 - 추천:
Pathlib
활용으로 OS 독립적 파일 경로 처리 가능 - 실무 적용: 자동화 스크립트를 기반으로 한 DevOps CI/CD 플로우 확장 가능