"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Python을 사용하여 생성 날짜별로 디렉터리의 파일 목록을 정렬하려면 어떻게 해야 합니까?

Python을 사용하여 생성 날짜별로 디렉터리의 파일 목록을 정렬하려면 어떻게 해야 합니까?

2024년 11월 16일에 게시됨
검색:361

How can I get a sorted list of files in a directory by creation date using Python?

Python을 사용하여 생성 날짜별로 정렬된 디렉토리 목록 얻기

디렉토리를 탐색할 때 정렬된 내용 목록을 가져와야 하는 경우가 종종 있습니다. 생성 날짜와 같은 특정 기준에 따라. Python에서는 이 작업을 쉽게 수행할 수 있습니다.

권장 접근 방식:

이를 달성하려면 Python의 내장 파일 시스템 조작 모듈과 정렬 기능을 결합하면 됩니다. 고용. 다음 코드 조각은 이 프로세스를 보여줍니다.

import glob
import os

search_dir = "/mydir/"
files = [os.path.join(search_dir, f) for f in os.listdir(search_dir) if os.path.isfile(f)]
files.sort(key=lambda x: os.path.getmtime(x))

이 코드 조각은 os.listdir()을 사용하여 지정된 디렉터리 내의 모든 파일 목록을 얻는 것으로 시작됩니다. 그 후, 파일이 아닌 항목(예: 디렉터리, 링크)은 os.path.isfile()을 사용하여 필터링됩니다. 올바른 파일 경로를 보장하기 위해 각 파일 이름 앞에는 검색 디렉터리 경로가 붙습니다.

그런 다음 os.path.getmtime() 함수를 사용하여 파일을 수정 시간에 따라 정렬합니다. 이 함수는 파일의 마지막 수정 시간을 숫자 형식으로 반환합니다. 이 함수를 sorted() 함수의 주요 인수로 전달하면 파일이 시간순으로 정렬되며 가장 최근에 생성된 파일이 먼저 나타납니다.

대체 접근 방식:

대체 접근 방식은 glob 모듈을 활용하여 파일을 필터링하고 절대 파일 경로 목록을 얻는 것입니다.

import glob
import os

search_dir = "/mydir/"
# This glob will look for all files and exclude any directories
files = [f for f in glob.glob(f"{search_dir}/**", recursive=True) if os.path.isfile(f)]
files.sort(key=lambda x: os.path.getmtime(x))

이 코드는 기본적으로 모든 파일을 포함하고 디렉터리를 제외한 지정된 디렉터리와 해당 하위 디렉터리의 전체 내용을 검색합니다. glob.glob() 함수를 사용하면 필요한 경우 보다 유연한 파일 이름 일치가 가능합니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3