개발/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: 정리할 폴더 선택

  1. Read Folders:  2차로 정리할 폴더를 사용자가 선택
    • Example Output:
      1. 텍스트
      2. PPT
      3. 엑셀
      4. PDF
      5. 이미지
      6. 한글 (e.g., the folder you want to organize)

 

Step 2: 선택한 폴더의 파일 모든 파일을 주제별로 나열

 

Step 3: Group by Themes/Topics

  1. Analyze File Names: 파일 이름을 분석하여 공통 주제나 주제별로 그룹화
    • keywords "  "이사회," "보고서," "교육," etc.

Step 4: Create Subfolders

Step 5: Move Files

반응형