2008-12-17 6 views
38

Angenommen, die Datei existiert (unter Verwendung os.path.exists(filename), um sicherzustellen, dass es zuerst tut), wie zeige ich die Zeit an, die eine Datei zuletzt geändert wurde? Dies ist unter Linux, wenn das einen Unterschied macht.Wie bekomme ich die Zeit, die eine Datei in Python zuletzt geändert wurde?

+2

möglich Duplikat [Wie Dateierstellung und Änderungsdatum/Zeiten in Python erhalten ?] (http://stackoverflow.com/questions/237079/how-to-get-file-creation-modification-date-times-in-python) –

Antwort

42

os.stat()

import os 
filename = "/etc/fstab" 
statbuf = os.stat(filename) 
print("Modification time: {}".format(statbuf.st_mtime)) 

Linux nicht die Erstellungszeit einer Datei (for most fileystems) aufzeichnen.

+0

Vielen Dank. Es scheint, dass Linux die Zeit für die Dateierstellung nicht speichert. Es scheint, als hätte ich das wissen müssen. :) –

97
>>> import os 
>>> f = os.path.getmtime('test1.jpg') 
>>> f 
1223995325.0 

seit Anfang (Epoche)

+1

Danke, das war hilfreich. Dies scheint der direktere Ansatz zu meiner spezifischen Frage zu sein, aber die os.stat-Lösung gibt mehr Informationen. –

+5

Ich wusste nicht, dass es eine explizite Funktion dafür gab. Lebe und lerne, denke ich. –

+4

Ich weder; Zeit zu ersetzen "os.stat" durch "os.path.getmtime" in meiner Codebasis ... –

0

Neu für Python 3.4+ (siehe: pathlib)

import pathlib 

path = Path('some/path/to/file.ext') 
last_modified = path.stat().st_mtime