Hallo
Ich laboriere gerade am Thema Dateizugriffe unter Windows herum. Ich möchte mit Python den Zeitstempel des letzten Zugriffs auf eine Datei ermitteln und komme aus dem Wundern nicht heraus. Ich kann mit den zwei üblichen Methoden (os.stat
und os.path
) sowohl den Zeitpunkt der Erstellung der Datei als auch den Zeitpunkt der letzten Änderung ermitteln und erhalte die auch vom Betriebssystem gemeldeten Werte. Soweit, so gut.
Nur der Zeitpunkt des letzten Zugriffs auf die Datei ist für mich nicht nachvollziehbar. Er liegt mit beiden Methoden zwischen den Zeitpunkten der Dateierstellung und der letzten Änderung. Hier der Code für die Abfragen auf eine banale Textdatei.
Methode #1, Abfrage mit os.stat
:
datei = os.path.join(os.getcwd(), 'ablage\\test.txt')
dateiErstellungStat = os.stat(datei).st_ctime
dateiZugriffStat = os.stat(datei).st_atime
dateiAenderungStat = os.stat(datei).st_mtime
# Ausgabe mit unformatierten Zeitstempeln
print("os.stat; Erstellung: {0}, letzter Zugriff: {1}, letzte Änderung: {2}".format(*(dateiErstellungStat, dateiZugriffStat, dateiAenderungStat)))
# Ausgabe
# os.stat; Erstellung: 1457097122.0384927, letzter Zugriff: 1460984078.0165174, letzte Änderung: 1461576324.0153048
Methode #2, Abfrage mit os.path
:
dateiErstellungPath = os.path.getctime(datei)
dateiZugriffPath = os.path.getatime(datei)
dateiAenderungPath = os.path.getmtime(datei)
print("os.path; Erstellung: {0}, letzter Zugriff: {1}, letzte Änderung: {2}".format(*(dateiErstellungPath, dateiZugriffPath, dateiAenderungPath)))
# Ausgabe
# os.path; Erstellung: 1457097122.0384927, letzter Zugriff: 1460984078.0165174, letzte Änderung: 1461576324.0153048
Die Datei wurde am 4.3.16 (1457097122.0384927) erstellt. Sie wurde heute (25.4.16) zuletzt geändert (1461576324.0153048). Warum liegt aber der letzte Zugriff zwischen diesen Daten am 18.4.16 (1460984078.0165174), als ich die Datei für einen Test in das Verzeichnis, in dem sie jetzt liegt, verschob?
- Sollte eine heutige Bearbeitung der Datei nicht als Zugriff gelten, der einen neuen Zeitstempel erzeugt?
- Sollte nicht das Öffnen der Datei mit einem Editor als Zugriff gelten, der einen neuen Zeitstempel erzeugt?
Was also gilt für Windows als Zugriff auf eine Datei?
Tschö, Auge
Wir hören immer wieder, dass Regierungscomputer gehackt wurden. Ich denke, man sollte die Sicherheit seiner Daten nicht Regierungen anvertrauen.
Jan Koum, Mitgründer von WhatsApp, im Heise.de-Interview