Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich die Dateierstellungs- und Änderungszeiten für verschiedene Betriebssysteme zuverlässig ermitteln?
Plattformübergreifendes Abrufen von Dateierstellungs- und Änderungsdatum/-zeit
Das Abrufen der Dateierstellungs- und Änderungsdaten/-zeiten über verschiedene Betriebssysteme hinweg kann erfolgen eine komplexe Aufgabe.
Änderung Daten
Das plattformübergreifende Abrufen von Dateiänderungsdaten ist relativ einfach mit os.path.getmtime(), das den Unix-Zeitstempel der letzten Änderung bereitstellt.
Erstellungsdaten
Für Dateierstellungsdaten wird der Prozess aufgrund der Plattformabhängigkeit komplizierter Implementierungen:
Plattformübergreifender Code
Durch die Kombination dieser plattformspezifischen Ansätze entsteht ein plattformübergreifender Code. Das Code-Snippet der Plattform lautet wie folgt:
import os import platform def creation_date(path_to_file): """ Try to get the date that a file was created, falling back to when it was last modified if that isn't possible. See http://stackoverflow.com/a/39501288/1709587 for explanation. """ if platform.system() == 'Windows': return os.path.getctime(path_to_file) else: stat = os.stat(path_to_file) try: return stat.st_birthtime except AttributeError: # We're probably on Linux. No easy way to get creation dates here, # so we'll settle for when its content was last modified. return stat.st_mtime
Dieser Code überprüft zunächst die Plattform, um die entsprechende Methode anzuwenden. Unter Windows wird os.path.getctime() verwendet, während auf Mac und einigen Unix-basierten Betriebssystemen versucht wird, das Erstellungsdatum mithilfe von .st_birthtime abzurufen. Für Linux wird auf das über .st_mtime erhaltene Änderungsdatum zurückgegriffen.
Das obige ist der detaillierte Inhalt vonWie kann ich die Dateierstellungs- und Änderungszeiten für verschiedene Betriebssysteme zuverlässig ermitteln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!