# 기타 공부한 것들/파이썬_etc.
glob, 디렉토리 안의 특정 확장자 찾기
Hwiyong Jo
2019. 8. 23. 20:03
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)