Python-line Lesen Größe in bytes

Ich arbeite in linux.
Ich würde gerne zeigen den Prozentsatz der Datei analysiert. Das ist, warum nach ein wenig Lesen habe ich beschlossen, dass die Genaueste Art und Weise zu tun wäre, bekommen die Gesamtgröße (in Byte) der Datei, die ich bin Parsen dann berechnen Sie die Größe (in bytes) der einzelnen Zeile nach dem Lesen.

Dies ist mein dummy vereinfachte code.

if __name__ == '__main__':

read_bytes = 0
total_file_size = os.path.getsize(myfile)

with open(myfile, 'r') as input_file:
    for line in input_file:
        read_bytes += sys.getsizeof(line)

        print "do my stuff"

print total_file_size
print read_bytes

Ausgabe:

193794194

203979278

Offensichtlich gibt es etwas zu zählen in der Linie, die Erhöhung der Gesamtgröße.
Ich habe versucht mit:

read_bytes += sys.getsizeof(line) - sys.getsizeof('\n')

Und die Ausgabe ist:

193794194

193309190

Ich muss etwas fehlen.

InformationsquelleAutor gmarco | 2013-08-14

Schreibe einen Kommentar