2017-09-29 1 views
1

Ich lese Datei in Standard-Art in Python. Ich meine, wie folgt aus:Füllen Chunk voll lesen - Datei in Python

with open("path_to_my_file", "rb") as fh: 
     chunk = fh.read(5120) 

Aber wenn ich Datei zum Beispiel 22000byte Größe lesen es gibt mir 5 Stücke

1 - 5120

2 - 5120

3 - 5120

4 - 5120

5 - 1520

Es gibt eine Option zum Auffüllen bis zum letzten Block von Nulls auf 1521-5120 Indizes ??

Antwort

1

ich, was der einfachste Weg ist, um so etwas zu tun:

padded_chunk = (chunk + '\0'*5120) [:5120] 

Jetzt padded_chunk ist Ende aufgefüllt mit Nullen.

+0

Wenn ich Ihre Zeile hinzufügen, gibt es mir Fehler 'TypeError: kann Bytes nicht zu str concat – BengBeng

+1

Hoppla, sorry! Ich benutze Python 2.7 ... Mit Python 3.x, liest eine Binärdatei ein 'Bytearray'. Versuchen Sie Folgendes: 'padded_chunk = (Chunk + Bytearray ('\ 0' * 5120)) [: 5120]' –

+0

Jetzt: 'TypeErrpr: String-Argument ohne eine Kodierung': D – BengBeng