[Python-de] Verändert os.walk die access time?
Carsten
carscht at jpberlin.de
Don Mar 17 13:29:12 CET 2005
gerhard quell schrieb:
Hallo,
> ~ sobald Du in ein Verzeichnis wechselst, machst Du einen read()-Aufruf!
> Dieser read()-Aufruf ändert die a_time und daß passiert auf meinem
> System unter Linux auch. Es würde sich nur dann die atime nicht ändern,
> wenn Du 0 Bytes lesen würdest (siehe man-Pages).
OK, dass das entgegen meiner vorherigen Annahme auch für find gilt,
macht die Sache selbst für mich verständlich.
> lstat ändert die atime nicht! D.h. Du kannst den Verzeichnisbaum
> ablaufen und via stat feststellen, welche atime eine Datei oder ein
> Verzeichnis hat. Und dann kannst Du in die Unterverzeichnisse wechseln.
Ich glaube, ich verstehe nicht, wozu Du lstat genau benutzen willst.
Mein bisheriger Ansatz war, mit os.walk() das Verzeichnis zu durchlaufen
und die atime der Ergebnisse mit os.lstat() auszuwerten Aber die atime
der Verzeichnisse ändert sich ja schon beim Durchlaufen derselben, beim
lstat-Aufruf ist es also schon passiert.
Ich könnte alternativ erst nur das aktuelle Verzeichnis mit os.listdir()
untersuchen und die atime aller enthaltenen Verzeichnisse und Dateien
checken und erst danach in die Unterverzeichnisse wechseln.
Das ergibt aber wenig Sinn, da ich ja beim Wechsel in die
Unterverzeichnisse dann doch deren atime verändere. Als Sinn der Übung
schwebte mir aber vor, regelmäßig nach Verzeichnissen zu suchen, die
z.B. seit einem Monat nicht benutzt wurden.
Gruß,
Carsten