□ import os : os 라이브러리 호출
○ os.listdir('경로') : 해당 경로의 디렉토리 검색 및 조회
○ os.path.splitext() : 파일명과 파일형식 분리 + 튜플형식임
○ 변수.split('.')[1] : .기준으로 스플릿 후 2번째 값 가져옴
○ os.walk(): 디렉토리 안의 하위 디렉토리와 파일 목록들을 조회출력(Recursive 재귀적으로 하위폴더 및 하위파일 모두 검색)
□ import glob : glob 라이브러리 호출
○ glob.glob('경로/**/*.파일확장자', recursive=True)
* 하위 폴더 및 파일 지정을 위해 /**/*.파일 확장자명을 필히 지정
#예제 : 폴더에 존재하는 파일 및 하위 폴더 전체에서 확장자가 *.txt 및 *png 파일을 분류하시오
#방법1
import os
txt_list1 = []
png_list1 = []
for root, dir_name, file_name in os.walk('C:/Users/User/Downloads/2.QnA-20231115T061510Z-001/2.QnA/source/43-1'):
for f in file_name:
ext = f.split('.')[-1]
if ext == 'txt':
txt_list1.append(f)
if ext == 'png':
png_list1.append(f)
print(f'txt 파일 리스트 : {txt_list1} / txt 파일개수 : {len(txt_list1)}')
print(f'png 파일 리스트 : {png_list1} / py 파일개수 : {len(png_list1)}')
#방법 2
import glob
txt_list2 = glob.glob('C:/Users/User/Downloads/2.QnA-20231115T061510Z-001/2.QnA/source/43-1/**/*.txt', recursive=True) #하위 조회를 위해 /**/*.확장자입력
png_list2 = glob.glob('C:/Users/User/Downloads/2.QnA-20231115T061510Z-001/2.QnA/source/43-1/**/*.png', recursive=True)
print(f'png 파일 리스트 : {txt_list2} / png 파일개수 : {len(txt_list2)} \n\npy 파일 리스트 : {png_list2} / py 파일개수 : {len(png_list2)}')
'Python > Python_basic' 카테고리의 다른 글
예제 : PhonBook 데이터 다루기(feat. Json 파일형식) (2) | 2023.11.20 |
---|---|
예제 : 파일 C.R.U 기능 함수생성 (2) | 2023.11.17 |
파일 확장자 별 처리 예제 (0) | 2023.11.16 |
데이터 필터링 예제 (0) | 2023.11.15 |
조건에 의한 비밀번호 생성예제 (0) | 2023.11.15 |