Whether it is the most recent log file, image, or report – sometimes you will need to find the most recently modified file in a directory. The example below finds the latest file in the “/tmp” directory.
import os
import glob
# get list of files that matches pattern
pattern="/tmp/*"
files = list(filter(os.path.isfile, glob.glob(pattern)))
# sort by modified time
files.sort(key=lambda x: os.path.getmtime(x))
# get last item in list
lastfile = files[-1]
print("Most recent file matching {}: {}".format(pattern,lastfile))
This pattern could easily be changed to find the latest PDF reports “/tmp/*.pdf” or any other pattern.
This code can be found on github as most_recent_file.py