개발/Python
바탕화면 파일정리 Python Code
토니치코
2024. 9. 21. 11:43
반응형
비탕화면 화면에 업무 파일을 파일 형식에 따라 유형별로 파일 정렬하도록 파이썬 코드를 작성
1. 바탕화면의 파일을 주제별로 폴더로 정리
organize_files라는 함수를 정의
os.listdir() 함수를 사용하여 desktop_path (바탕화면 경로)에 있는 모든 파일과 폴더의 이름을 가져옴
이후 파일 이름들을 하나씩 file_name이라는 변수에 담아 반복하면서 바탕화면에 있는 모든 파일을 하나씩 처리
- 파일 확장자 추출: 파일 이름에서 확장자를 가져오는 작업을 수행
- split('.') 사용: 파일 이름을 **'.'**를 기준으로 나누어 확장자를 추출합
- [-1]을 사용: 나눈 결과 중 마지막 요소(즉, 확장자)를 선택
- lower() 사용: 확장자를 모두 소문자로 변환하여 대문자로 된 확장자도 처리
- 미리 정의된 폴더와 확장자 확인: 폴더와 그 폴더로 옮길 파일의 확장자 목록을 사전에 정의
- folders.items() 함수 사용: 이 함수는 사전에 정의된 폴더와 해당 확장자 리스트를 반복(iterate)
- 확장자에 따른 폴더 분류: 각각 파일에 맞는 확장자 파일들을 처리
- file_ext가 옮겨질 폴더 확인: 이 조건은 파일 확장자가 해당 폴더로 이동해야 하는지를 확인
- EX : 확장자가 'txt'인 파일은 '텍스트' 폴더로 옮겨야 하므로, 조건이 참(True)
- 폴더 이동 여부 : 확장자가 사전에 정의된 폴더와 일치할 때만 해당 파일을 이동
- source > destination:
- source : 원래 파일이 위치한 경로 (바탕화면)
- destination : 파일이 옮겨질 경로
- **os.path.join()**을 사용하여 파일 이름과 폴더 경로를 결합해 전체 경로생성 'C:/Users/tonycho/Desktop/Document.txt'.
- os.path.isfile() 함수로 source가 실제 파일인지 확인
- 폴더는 이동 대상이 아니므로 파일인지 확인 후 처리.
shutil.move() 함수: 파일을 source 위치에서 destination 위치로 이동
- shutil.move('source 경로', 'destination 경로') 형식으로 파일을 이동
- 문제점 : 동일한 이름의 파일이 이미 destination에 있는 경우 덮어씌워짐 (확인 절차 없이)
2. 정리된 주제별 폴더 내 파일을 카테고리별로 정리
Step 1: 정리할 폴더 선택
- Read Folders: 2차로 정리할 폴더를 사용자가 선택
- Example Output:
- 텍스트
- PPT
- 엑셀
- 이미지
- 한글 (e.g., the folder you want to organize)
- Example Output:
Step 2: 선택한 폴더의 파일 모든 파일을 주제별로 나열
Step 3: Group by Themes/Topics
- Analyze File Names: 파일 이름을 분석하여 공통 주제나 주제별로 그룹화
- keywords " "이사회," "보고서," "교육," etc.
Step 4: Create Subfolders
Step 5: Move Files
반응형