플그래밍/파이써언

[파이썬] 폴더 내 파일 확장자별로 분류하기

훗티v 2022. 1. 16. 15:01

 

간단한 파이썬 스크립트로 폴더 내 파일을 확장자별로 분류해보자.

스크립트 폴더

 

파이썬 스크립트 파일과 동일한 위치에 "files" 라는 폴더를 만든다.

"samplefiles"폴더는 없어도 상관없다.

"categorize.py"를 실행하면 "files"폴더 내의 모든 파일이 확장자별로 분류된다.

files 폴더 내 파일

 

파이썬 코드

import glob
import os
import shutil

# 파일 위치 초기화 및 설정
path = os.path.dirname(os.path.realpath(__file__))
path = path + '\\' + 'files' # 분류할 파일이 저장된 폴더를 지정해준다
os.chdir(path) # 현재 위치 지정

extensions = [] # 폴더 내 모든 확장자 목록

read_files = glob.glob("*.*") # file 폴더 내 파일 목록 추출

# 확장자 추출 및 해당 목록에 추가
for file in read_files:
    loc = file.rfind('.')
    extensions.append(file[loc+1:])

extensions = list(dict.fromkeys(extensions)) # 중복 확장자 목록에서 제거

# 각 확장자에 해당하는 폴더 생성
for item in extensions:
    os.mkdir(item)

# 모든 파일의 확장자 확인 후 해당 폴더로 이동
for item in extensions:
    for file in read_files:
        if item in file:
            shutil.move(file, path + '\\' + item + '\\' + file)

# 완료 메세지
print(f"총 {len(read_files)}개의 파일이 분류되었습니다.")

 

실행 화면

각 확장자에 해당하는 폴더로 분류 및 이동

 

결과 확인

txt 폴더

 

pptx 폴더

 

pdf 폴더

 

docx 폴더

 

bmp 폴더

 

ahk 폴더

 

총 8개의 파일 분류 완료

 

 

 

 

 

[플그래밍/파이써언] - [파이썬] 공공데이터 API - 지역별 아파트 매매 내역 추출하기

[플그래밍/파이써언] - [파이썬] 판다스 CSV > XLSX 엑셀 변환

[플그래밍/파이써언] - [파이썬] 판다스 엑셀 파일 만들기

[플그래밍/파이써언] - [파이썬] PDF 파일 합치기 (PyPDF2)

[플그래밍/파이써언] - [파이썬] pandas csv 파일 생성 시 한글 깨짐 (df.to_csv)

 

 

 

 

 

 

728x90