반응형

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



반응형

해보고 확인한 것을 문서화하여 기록합니다.
최소 일주일에 한번 이상 포스트를 하려고 노력중입니다.

부족함이 있지만 도움이 되었으면 합니다.
잘못된 부분이나 개선점을 알려주시면 감사하겠습니다.



포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
시간날때 마다 이전 포스트가 문제 있는지 확인을 해보려고 노력하고 있습니다.
질문을 남겨주면 가능한 빨리 답변드립니다.


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

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기

댓글을 달아 주세요

">