Find and append file path

Tim Chase python.list at
Thu Jan 12 10:39:34 EST 2017

On 2017-01-12 19:28, Iranna Mathapati wrote:
> Example:
> CLI Input: /root/user/branches/xyz
> find latest file and append to CLI path:
> "/root/user/branches/xyz/Apple"

I've used something like the below to find the most recent file in a
directory tree (it also works for pulling other attributes like the
file-size from os.stat() results).


import os
from operator import attrgetter

def dir_iter(root):
    for fullpath in (
            os.path.join(path, dir_)
            for path, dirs, files in os.walk(root)
            for dir_ in dirs
        if os.path.isdir(fullpath):
            yield fullpath

def find_latest(root,
    return max(dir_iter(root),
        key=lambda fullpath: which_time(os.stat(fullpath))

if __name__ == "__main__":
    from sys import argv
    if len(argv) > 1:
        root = argv[1]
        root = '.'
    print(find_latest(root, which_time=attrgetter("st_ctime")))

More information about the Python-list mailing list