반응형
하위 경로에 있는 특정 확장자 파일의 목록을 리스트로 받아오는 Python 예제입니다.
2021. 9. 16 - 최초 작성
2022. 1. 2 - walk 추가, 실행 시간 측정
import os, glob import time start = time.time() # 하위 폴더는 어떤 것이 와도 상관없다는 의미에서 *를 추가합니다. files = glob.glob(os.path.join('./dogs-vs-cats/*/', '*.jpg')) print('glob') #print(files) print(len(files)) print(time.time() - start) print() start = time.time() files = [os.path.join(root, name) for root, dirs, files in os.walk('./dogs-vs-cats') for name in files if name.endswith((".jpg"))] print('walk') #print(files) print(len(files)) print(time.time() - start) |
37500개의 파일이 있는 데이터셋 ( https://www.kaggle.com/c/dogs-vs-cats/data )으로 테스트해보았는데 walk를 사용한 코드가 파일의 경로를 리스트로 만드는 속도가 좀 더 빨랐습니다.
glob
37500
0.06122398376464844
walk
37500
0.04595303535461426
참고
https://stackoverflow.com/a/5817256
반응형