9

I found this directory checking code on the web and modified it a little, so it would print out added files. There's a buoy that sends me readings every now-and-then, but sometimes the connection is lost and instead of one file it sends multiple files. I need the program to sort them for me by date created. Is there a way to do this?

import os, time
path_to_watch = 'c://Users//seplema//Documents//arvuti'
before = dict([(f, None) for f in os.listdir (path_to_watch)])
while 1:
    after = dict([(f, None) for f in os.listdir (path_to_watch)])
    added = [f for f in after if not f in before]
    if before == after:
        1==1
    else:
        if len(added)==1:
            print added[0]
        else:
            for i in range (0,len(added)):
                print added[i]
    time.sleep(10)
    before = after
nils
  • 335
  • 3
  • 5
  • 15
  • 2
    http://stackoverflow.com/questions/168409/how-do-you-get-a-directory-listing-sorted-by-creation-date-in-python – Jacob Jul 20 '11 at 09:05

1 Answers1

27
added.sort(key=lambda x: os.stat(os.path.join(path_to_watch, x)).st_mtime)

Will sort the added list by the last modified time of the files

Use st_ctime instaed of st_mtime for creation time on Windows (it doesn't mean that on other platforms).

agf
  • 171,228
  • 44
  • 289
  • 238