Study/Programming

[파이썬 Python] glob.glob로 가져올 때 정렬(sort)하기

빨간당무 2018. 4. 9. 20:45

glob.glob 함수를 통해 특정 디렉토리(폴더)로 부터 디렉토리 및 파일 목록을 가져와서 리스트를 보면 정렬되지 않는 경우,

filst = glob.glob('*')
for fname in filst:
    pass
아래와 같이 코드를 추가하면 파일명으로 정렬됨

filst = sorted(glob.glob('*'))
for fname in filst:
    pass

만약 다른 조건으로 정렬하려면 다음과 같은 코드들을 입력하면 됨

filst = sorted(glob.glob('*'), key=os.path.getctime) # 파일 생성일
for fname in filst:
    pass

filst = sorted(glob.glob('*'), key=os.path.getatime) # 파일 최근 접근일
for fname in filst:
    pass

filst = sorted(glob.glob('*'), key=os.path.getmtime) # 파일 최종 수정일
for fname in filst:
    pass

filst = sorted(glob.glob('*'), key=os.path.getsize) # 파일 사이즈로 정렬
for fname in filst:
    pass

Ref. https://stackoverflow.com/questions/6773584/how-is-pythons-glob-glob-ordered