Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich mit Python eine sortierte Liste der Dateien in einem Verzeichnis nach Erstellungsdatum erhalten?
Verzeichniseinträge sortiert nach Erstellungsdatum mit Python abrufen
Beim Navigieren in einem Verzeichnis besteht oft der Bedarf, eine Liste seiner Inhalte sortiert zu erhalten nach bestimmten Kriterien, wie zum Beispiel dem Erstellungsdatum. In Python kann diese Aufgabe problemlos erledigt werden.
Vorgeschlagener Ansatz:
Um dies zu erreichen, ist eine Kombination aus Pythons integrierten Dateisystem-Manipulationsmodulen und einer Sortierfunktion erforderlich beschäftigt. Der folgende Codeausschnitt veranschaulicht diesen Prozess:
import glob import os search_dir = "/mydir/" files = [os.path.join(search_dir, f) for f in os.listdir(search_dir) if os.path.isfile(f)] files.sort(key=lambda x: os.path.getmtime(x))
Dieser Codeausschnitt beginnt mit dem Abrufen einer Liste aller Dateien im angegebenen Verzeichnis mithilfe von os.listdir(). Anschließend werden alle Nicht-Dateielemente (z. B. Verzeichnisse, Links) mithilfe von os.path.isfile() herausgefiltert. Um korrekte Dateipfade sicherzustellen, wird jedem Dateinamen der Suchverzeichnispfad vorangestellt.
Die Dateien werden dann mithilfe der Funktion os.path.getmtime() nach ihrer Änderungszeit sortiert. Diese Funktion gibt den Zeitpunkt der letzten Änderung einer Datei im numerischen Format zurück. Durch die Übergabe dieser Funktion als Schlüsselargument an die Funktion sorted() werden die Dateien in chronologischer Reihenfolge angeordnet, wobei die zuletzt erstellten Dateien zuerst angezeigt werden.
Alternativer Ansatz:
Ein alternativer Ansatz besteht darin, das Glob-Modul zu verwenden, um die Dateien zu filtern und eine Liste absoluter Dateipfade zu erhalten:
import glob import os search_dir = "/mydir/" # This glob will look for all files and exclude any directories files = [f for f in glob.glob(f"{search_dir}/**", recursive=True) if os.path.isfile(f)] files.sort(key=lambda x: os.path.getmtime(x))
Dieser Code durchsucht im Wesentlichen den gesamten Inhalt des angegebenen Verzeichnisses und seiner Unterverzeichnisse, einschließlich aller Dateien und Ausschluss aller Verzeichnisse. Die Funktion glob.glob() ermöglicht bei Bedarf einen flexibleren Dateinamenabgleich.
Das obige ist der detaillierte Inhalt vonWie kann ich mit Python eine sortierte Liste der Dateien in einem Verzeichnis nach Erstellungsdatum erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!