python에서 특정 폴더 내에 가장 최근에 생성된 파일을 리턴하는 방법

최대 1 분 소요

1-line summary

  • os.path.getctime(path)을 사용하면 해당 파일의 생성 시간을 알 수 있음
  • 이 값을 사용해서 “생성 시간” 기준으로 최대 값을 찾으면 됨.

Get Latest file from path

  • 어떤 folder의 경로 folder_path가 있다고 합시다. 그리고 이 경로에는 코딩 과정에서 만들어지는 주요 산물들이 저장되죠.
  • 코딩 중에 가장 최근에 업데이트된 파일을 알아서 읽고 싶을 때가 있죠. python library인 os에서는 이미 입력받은 경로에 대해서 “생성 시간”을 알아낼 수 있습니다.
  • 그렇다면 그냥 모든 파일들에 대해서 “생성 시간”을 읽고 정렬해주면 끝나는 문제죠.
  • 간단히 아래 코드를 사용하면 됩니다.
import os  
"""
- 특정 folder 내에 있는 "가장 최근에 생성된" 파일을 리턴하는 방법 
"""
folder_path = 'social_entre_scopus_raw_data_csv/'

# each_file_path_and_gen_time: 각 file의 경로와, 생성 시간을 저장함
each_file_path_and_gen_time = []
for each_file_name in os.listdir(folder_path):
    # getctime: 입력받은 경로에 대한 생성 시간을 리턴
    each_file_path = folder_path + each_file_name
    each_file_gen_time = os.path.getctime(each_file_path)
    each_file_path_and_gen_time.append(
        (each_file_path, each_file_gen_time)
    )

# 가장 생성시각이 큰(가장 최근인) 파일을 리턴 
most_recent_file = max(each_file_path_and_gen_time, key=lambda x: x[1])[0]

reference

댓글남기기