DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   Python (http://www.daniweb.com/forums/forum114.html)
-   -   Code Snippet: File List by Date (Python) (http://www.daniweb.com/forums/thread216688.html)

vegaseat Jan 21st, 2006 3:19 pm
File List by Date (Python)
 
This code snippet allows you to list the files in a folder sorted by "last modified date". The tuple returned by the os.stat() function contains amongst other things the last modified date, which is then converted by the time.localtime() function to a tuple that is ideal for sorting. You can select the folder and the type of file you want to display.

  1. # retrieve the file information from a selected folder
  2. # sort the files by last modified date/time and display in order newest file first
  3. # tested with Python24 vegaseat 21jan2006
  4.  
  5. import os, glob, time
  6.  
  7. # use a folder you have ...
  8. root = 'D:\\Zz1\\Cartoons\\' # one specific folder
  9. #root = 'D:\\Zz1\\*' # all the subfolders too
  10.  
  11. print '-'*60 # just vanity
  12.  
  13. date_file_list = []
  14. for folder in glob.glob(root):
  15. print "folder =", folder
  16. # select the type of file, for instance *.jpg or all files *.*
  17. for file in glob.glob(folder + '/*.*'):
  18. # retrieves the stats for the current file as a tuple
  19. # (mode, ino, dev, nlink, uid, gid, size, atime, mtime, ctime)
  20. # the tuple element mtime at index 8 is the last-modified-date
  21. stats = os.stat(file)
  22. # create tuple (year yyyy, month(1-12), day(1-31), hour(0-23), minute(0-59), second(0-59),
  23. # weekday(0-6, 0 is monday), Julian day(1-366), daylight flag(-1,0 or 1)) from seconds since epoch
  24. # note: this tuple can be sorted properly by date and time
  25. lastmod_date = time.localtime(stats[8])
  26. #print image_file, lastmod_date # test
  27. # create list of tuples ready for sorting by date
  28. date_file_tuple = lastmod_date, file
  29. date_file_list.append(date_file_tuple)
  30.  
  31. #print date_file_list # test
  32.  
  33. date_file_list.sort()
  34. date_file_list.reverse() # newest mod date now first
  35.  
  36. print "%-40s %s" % ("filename:", "last modified:")
  37. for file in date_file_list:
  38. # extract just the filename
  39. folder, file_name = os.path.split(file[1])
  40. # convert date tuple to MM/DD/YYYY HH:MM:SS format
  41. file_date = time.strftime("%m/%d/%y %H:%M:%S", file[0])
  42. print "%-40s %s" % (file_name, file_date)
manouch Jun 20th, 2006 8:12 am
where is your code ? :cry:

vegaseat Aug 7th, 2006 10:06 am
Looks like someone ate it! I reloaded the submission.
Good thing I checked the comments! Thanks ...

rmatelot Dec 9th, 2009 7:59 pm
good stuff thanks


All times are GMT -4. The time now is 8:23 pm.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC