hi there i need to collect the 6 latest backup files from a folder every day and currently working on a script to do this for me so far i have managed to pull the 6 latest files as shown in code below but the problem i have is most of the dates are the same i need to get 6 different dates but the latest ones,
sorry about how i have write this, hope it makes sense to someone.
# sorts files by modified date, # pulls 6 most recent files, # and delete all others. #created by dan holding v0.1 (03 Aug 2010) import os, glob, time, sets root = '.' date_file_list =  date_file_set =  for folder in glob.glob(root): print "folder =", folder for file in glob.glob(folder + '\*.txt*'): # /\ select the type of file, for instance *.bat or all files *.* stats = os.stat(file) lastmod_seconds = stats # /\ use seconds first to sort the time date_file_tuple = lastmod_seconds, file date_file_list.append(date_file_tuple) # \/ create a set to eliminate duplicate files # with matching seconds and path/name date_file_set = set(date_file_list) # \/ convert set back to a list date_file_list = list(date_file_set) # \/ latest modified date (in seconds) now first date_file_list.sort(reverse = True) #\/ test print (len(date_file_list)) print '/\ number of files in list '*1,'-'*50 print (len(date_file_set)) print '/\ number of files in set'*1,'-'*52 # show six most recent files for lastmod_seconds, path in date_file_list[:6]: folder, file_name = os.path.split(path) # convert seconds to time tuple lastmod_tuple = time.localtime(lastmod_seconds) # convert time tuple to MM/DD/YYYY HH:MM:SS format file_date = time.strftime("%m/%d/%y %H:%M:%S", lastmod_tuple) print "%-40s %s" % (file_name, file_date)
cheers and hope to here back from someone soon