Skip to content
Advertisement

make os.listdir() list complete paths

Consider the following piece of code:

files = sorted(os.listdir('dumps'), key=os.path.getctime)

The objective is to sort the listed files based on the creation time. However since the the os.listdir gives only the filename and not the absolute path the key ie, the os.path.getctime throws an exception saying

OSError: [Errno 2] No such file or directory: 'very_important_file.txt'

Is there a workaround to this situation or do I need to write my own sort function?

Advertisement

Answer

files = sorted(os.listdir('dumps'), key=lambda fn:os.path.getctime(os.path.join('dumps', fn)))
Advertisement