python을 사용하여 디렉토리 안의 특정 확장자 또는 모든 파일을 찾을 수 있습니다.

--> import glob

을 통해 쉽게 접근할 수 있습니다.


1. 폴더 안의 모든 디렉토리 찾기

all_dir = glob.glob('./my_dir/*')

위와 같이 *을 사용하면 확장자 상관없이 모든 파일을 가져오겠다는 의미입니다.


2. 폴더 안의 폴더 안의 폴더 안의 파일 찾기

폴더 안에 또 디렉토리가 있는 경우가 있습니다. 

그럴때는 glob 함수에서 제공하는 파라미터인 recursive를 활성화시켜주면 됩니다.

# 디렉토리 안의 모든 파일을 찾고 싶은 경우(sub directory도 포함)
all_dir = glob.glob('./my_dir/*', recursive = True)

3. 특정 확장자만 찾기

이 또한, recursive를 활성화시켜주면 내부 폴더안의 폴더까지 뒤져서 전부 찾아줍니다.

all_dir = glob.glob('./my_dir/*.jpg')

all_dir = glob.glob('./my_dir/*.jpg', recursive = True)

 


4. glob을 이용하여 파일 생성일, 사이즈 등을 기준으로 정렬하고 싶은 경우

편리하게 쓸 수 있는 order는 여러가지가 있지만 대표적으로 다음과 같습니다.

  • os.path.getctime # 파일 생성일
  • os.path.getmtime # 파일 최근 수정일
  • os.path.getatime # 파일 접근일
  • os.path.getsize # 파일 사이즈
sorted_all_dir = sorted(glob.glob('./my_dir/*'), key = order)