Code: Alles auswählen
def wandle_datum(data):
return int(time.mktime(time.strptime(data, "%d.%m.%Y")))
def suche_files(durchlaufe, auswahl, endung, vondate, bisdate):
os.stat_float_times(False)
file_dict = {}
rueckgabe = []
for verzeichnisse, unterordner, dateien in os.walk(durchlaufe):
for dateinamen in dateien:
extension = os.path.splitext(dateinamen)[1]
if extension == endung:
if auswahl == "alphabetisch":
zeitpunkt = os.path.getctime(os.path.join(verzeichnisse, dateinamen))
fuelledict = {os.path.join(verzeichnisse, dateinamen) : zeitpunkt}
file_dict.update(fuelledict)
elif auswahl == "angelegt":
zeitpunkt = os.path.getctime(os.path.join(verzeichnisse, dateinamen))
elif auswahl == "aenderung":
zeitpunkt = os.path.getmtime(os.path.join(verzeichnisse, dateinamen))
elif auswahl == "aufgerufen":
zeitpunkt = os.path.getatime(os.path.join(verzeichnisse, dateinamen))
if auswahl == "angelegt" or auswahl == "aenderung" or auswahl == "aufgerufen":
if vondate == "-" or bisdate == "-":
fuelledict = {zeitpunkt : os.path.join(verzeichnisse, dateinamen)}
file_dict.update(fuelledict)
elif vondate != "-" and bisdate != "-":
if zeitpunkt >= wandle_datum(vondate) and zeitpunkt <= wandle_datum(bisdate):
fuelledict = {zeitpunkt : os.path.join(verzeichnisse, dateinamen)}
file_dict.update(fuelledict)
# Reihenfolge - files und filetimes - plus lambda und lower
if auswahl == "alphabetisch":
sortiert = sorted(file_dict.items(), key = lambda i: i[0].lower(), reverse = 1)
for files, filetimes in sortiert:
zeitformat = time.strftime("%d.%m.%Y", time.localtime(filetimes))
rueckgabe.append("{0:s} - {1:s}".format(files, zeitformat))
# Reihenfolge - filetimes und files
elif auswahl == "angelegt" or auswahl == "aenderung" or auswahl == "aufgerufen":
sortiert = sorted(file_dict.items(), reverse = 1)
for filetimes, files in sortiert:
zeitformat = time.strftime("%d.%m.%Y", time.localtime(filetimes))
rueckgabe.append("{0:s} - {1:s}".format(files, zeitformat))
return rueckgabe
class Dateisuche:
def __init__(self):
self.fenster = Tk()
self.set_auswahl = StringVar(value="1")
self.set_endung = StringVar(value="1")
self.textfeld = None
self.auswahl = "alphabetisch"
self.endung = "py"
self.vondate = None
self.bisdate = None
self.durchlaufe = "."
def main(self):
if self.vondate is None or self.vondate == "":
self.vondate = "-"
if self.bisdate is None or self.bisdate == "":
self.bisdate = "-"
gefunden = suche_files(self.durchlaufe, self.auswahl,
self.endung, self.vondate, self.bisdate)
self.textfeld.delete(1.0, END)
for dateien in gefunden:
self.textfeld.insert(1.0, "{}\n".format(dateien))
# Der rest vom Code ist unverändert.