본문 바로가기
Python/Python_basic

파일 확장자 별 처리 예제

by Mr.DonyStark 2023. 11. 16.

□ import os : os 라이브러리 호출

 ○ os.listdir('경로') : 해당 경로의 디렉토리 검색 및 조회

 ○ os.path.splitext() : 파일명과 파일형식 분리 + 튜플형식임

 ○ 변수.split('.')[1] : .기준으로 스플릿 후 2번째 값 가져옴

import glob : glob 라이브러리 호출

#폴더에 존재하는 파일 중 확장자가 *.py 또는 *.png 파일의 개수 및 파일명을 분류하세요

import os #os 패키치(라이브러리) 호출

#os.listdir() → 디렉토리검색 함수
file = os.listdir('C:/Users/User/Downloads/2.QnA-20231115T061510Z-001/2.QnA/source/42-1')

#방법 1
#빈 리스트 생성
png_list1 = []
py_list1 = []

for i in os.listdir('C:/Users/User/Downloads/2.QnA-20231115T061510Z-001/2.QnA/source/42-1'):
        #print(os.path.splitext(i))  os.path.splitext() 파일명과 파일형식 분리 + 튜플형식임
        file_kind = i.split('.')[1] #.기준으로 스플릿 후 2번째 값 가져옴

        #조건문을 통해 파일형식별 맞는 디렉토리 리스트에 추가
        if file_kind == 'png':         
            png_list1.append(file_kind)
        elif file_kind == 'py':
            py_list1.append(file_kind)
        
print(f'png 파일 리스트 : {png_list1}  /  png 파일개수 : {len(png_list1)}  \n\npy 파일 리스트 : {py_list1}  /  py 파일개수 : {len(py_list1)}')

#방법 2
import glob

png_list2 = glob.glob1('C:/Users/User/Downloads/2.QnA-20231115T061510Z-001/2.QnA/source/42-1', '*png')
py_list2 =  glob.glob1('C:/Users/User/Downloads/2.QnA-20231115T061510Z-001/2.QnA/source/42-1', '*py')

print(f'png 파일 리스트 : {png_list2}  /  png 파일개수 : {len(png_list2)}  \n\npy 파일 리스트 : {py_list2}  /  py 파일개수 : {len(py_list2)}')