반응형

하위 경로에 있는 특정 확장자 파일의 목록을 리스트로 받아오는 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



반응형

문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.

도움이 되셨다면 토스아이디로 후원해주세요.
https://toss.me/momo2024


제가 쓴 책도 한번 검토해보세요 ^^

+ Recent posts