Python os.stat (Dateiname) .st_size versus os.path.getsize (Dateiname)

9

Ich habe zwei Teile Code, die beide dasselbe tun sollen - in einer Schleife sitzen, bis eine Datei fertig ist, in die geschrieben wird. Sie werden hauptsächlich für Dateien verwendet, die über FTP / SCP eingehen.

Eine Version des Codes verwendet os.stat()[stat.ST_SIZE] :

%Vor%

Eine andere Version macht es mit os.path.getsize() :

%Vor%

Ich habe mehrere Instanzen gesehen, bei denen die erste Methode meldet, dass die Größen gleich sind, während die Datei tatsächlich noch wächst. Gibt es einen Grund dafür, dass os.stat() falsch berichtet, während os.path.getsize() dies nicht tun würde? Ich sehe keine Fehler oder Ausnahmen zurückkommen.

    
Valdogg21 23.09.2013, 14:39
quelle

1 Antwort

16

In CPython 2.6 und 2.7 ist os.path.getsize() wie folgt implementiert:

%Vor%

Daraus geht klar hervor, dass es keinen Grund gibt zu erwarten, dass sich die beiden Ansätze anders verhalten (außer vielleicht aufgrund der unterschiedlichen Strukturen der Schleifen in Ihrem Code).

    
NPE 23.09.2013, 14:43
quelle

Tags und Links