2009-05-20 3 views
13

Kann ich das Erstellungsdatum einiger Dateien mit Python unter Linux ändern?Dateierstellungsdatum ändern

+1

Gleiche Frage für Windows: http://Stackoverflow.com/q/4996405/321973 –

Antwort

15

Linux und Unix-Dateisystemtreiber:

Dateizugriff, ändern und Änderungszeit (nicht vergessen, Unix oder Linux speichert nie Erstellungszeitpunkt Datei, diese in UNIX/Linux-System-Administratoren Job Interview gefragt Lieblingsfrage ist)

Understanding UNIX/Linux file systems

+0

Hinweis: Auf einigen Unix-Systemen wie FreeBSD gibt es 'st_birthtime'. – jfs

+0

können Sie ctrtime aus ext4 fs extrahieren mit [Xstat-Funktion] (http://moiseevigor.github.io/software/2015/01/30/get-file-creation-time-on-linux-with-ext4/) – jfs

14

Sie können os.utime verwenden, um den Zugriff zu ändern und die Uhrzeit, aber nicht das Erstellungsdatum zu ändern.

+1

> Legen Sie den Zugriff und die modifizierten Zeiten Aber ich brauche ein Datum erstellen. – Ockonal

+0

Zitat aus der Dokumentation zu dieser Funktion: "Legen Sie den Zugriff und die modifizierten Zeiten der Datei durch den Pfad angegeben." .. Sie können damit das Erstellungsdatum nicht festlegen. – Epcylon

+3

Es wäre schön hinzuzufügen, dass dort das Konzept des Dateierstellungsdatums in den meisten nativen * nix-Dateisystemen nicht existiert. – tzot

2

Ich bin kein UNIX-Experte, also vielleicht irre ich mich, aber ich denke, dass UNIX (oder Linux) keine Dateierstellungszeit speichern.

2

Check out os.utime

os.utime(file_path,(new_atime,new_mtime)) 
+0

Es ändert sich nicht * creation * time as [@Nadia Alramli's Antwort sagt explizit] (http://stackoverflow.com/a/887564/4279). – jfs