Os.stat gibt die Attribute st_mtime und st_ctime zurück, die Änderungszeit ist st_mtime und st_ctime "Änderungszeit" auf POSIX. Gibt es eine Funktion, die die Erstellungszeit einer Datei unter Verwendung von Python und unter Linux zurückgibt?
Antworten
Zu viele Anzeigen?Bestimmte Dateisysteme unterstützen die Aufzeichnung der Erstellungszeit, aber Linux bietet keine Schnittstelle zum Abrufen dieser Zeit.
Siehe http://lwn.net/Articles/397442/
Wenn man versucht, den Befehl "stat" zu verwenden, um sie zu erhalten: % stat -c %w {Datei oder Ordner}
Das Ergebnis wird ein "-" sein, da es nicht die Fähigkeit hat, es abzurufen. Man kann jedoch diese Beispielmethode verwenden, die debugfs mit xstat verwendet, um sie abzurufen (vorausgesetzt, dass das verwendete Dateisystem das Sammeln unterstützt.)
https://gist.github.com/moiseevigor/8c496f632137605b322e
xstat() {
for target in "${@}"; do
inode=$(ls -di "${target}" | cut -d ' ' -f 1)
fs=$(df "${target}" | tail -1 | awk '{print $1}')
crtime=$(sudo debugfs -R 'stat <'"${inode}"'>' "${fs}" 2>/dev/null |
grep -oP 'crtime.*--\s*\K.*')
printf "%s\t%s\n" "${crtime}" "${target}"
done
}
Beachten Sie, dass dies sudo erfordert.
Was meinst du damit, dass es nicht gemacht werden kann [1]? Die Funktion,
os.stat(path).st\_birthtime, funktioniert super.
\[1\]:
Jemand sagte, dass es nicht gemacht werden könne
Aber er antwortete mit einem Schmunzeln
Dass es vielleicht nicht möglich sei, aber er wäre einer
Der es erst sagen würde, wenn er es versucht hätte.
Also machte er sich gleich daran mit einem leichten Lächeln
Auf seinem Gesicht. Wenn er sich Sorgen machte, versteckte er es.
Er begann zu singen, als er sich der Sache annahm
Die nicht gemacht werden konnte, und er hat es geschafft!
-- Edgar Albert Guest
- See previous answers
- Weitere Antworten anzeigen