"Peter Hansen" <[EMAIL PROTECTED]> wrote: > yoda wrote: > > This feels like a stupid question but I'll ask it anyway. > > > > How can I process files chronologically (newest last) when using > > os.walk()? > > Do you want the ordering to apply just to files within each directory, > or to all the files found (recursively) during the entire walk? Define > "newest" (most recent modified date or something else?). Is there any > reason why sorting with the results of os.access().st_mtime as the key > is not possible or sufficient? > > -Peter
You can make your life easier using the non-standard (yet ?) path module: from path import path top = path('.') sort_kwds = dict(key=path.mtime.__get__, reverse=True) # sort all files together sorted_all = sorted(top.walkfiles(), **sort_kwds) # sort files by directory sorted_by_dir = sorted(top.files(), **sort_kwds) \ + sum((sorted(dir.files(), **sort_kwds) for dir in path(top).walkdirs()), []) George -- http://mail.python.org/mailman/listinfo/python-list