So lesen Sie Binärdateien in Python

So lesen Sie Binärdateien in Python

Die Datei, die die Binärdaten enthält, wird als binäre Datei bezeichnet. Alle formatierten oder nicht formatierten Binärdaten werden in einer binären Datei gespeichert, und diese Datei ist nicht menschlich lesbar und wird vom Computer direkt verwendet. Wenn eine binäre Datei zum Lesen oder Übertragen von einem Speicherort zu einem anderen Ort erforderlich ist, wird der Inhalt der Datei in ein menschliches lesbares Format konvertiert oder codiert. Die Erweiterung der Binärdatei ist .Behälter. Der Inhalt der Binärdatei kann mithilfe einer integrierten Funktion oder einem Modul gelesen werden. In diesem Tutorial wurden verschiedene Möglichkeiten zum Lesen von Binärdateien in Python gezeigt.

Voraussetzung:

Bevor Sie die Beispiele dieses Tutorials überprüfen. Das Skript von zwei Python -Dateien wurde unten gegeben, um zwei Binärdateien zu erstellen. Die Binärdatei1.PY erstellt eine binäre Datei mit dem Namen Saite.Behälter Das enthält String -Daten und die Binary2.PY erstellt eine binäre Datei mit dem Namen number_list.Behälter Das enthält eine Liste numerischer Daten.

Binary1.py

# Öffnen Sie einen Dateihandler, um eine binäre Datei zu erstellen
Datei_handler = open ("String.Bin "," WB ")
# Fügen Sie in der Binärdatei zwei Textzeilen hinzu
Datei_handler.Schreiben Sie (B "Willkommen bei LinuxHint.\ nlearn Python -Programmierung."))
# Schließen Sie den Dateihandler
Datei_handler.schließen()

Binary2.py

# Öffnen Sie einen Dateihandler, um eine binäre Datei zu erstellen
Datei = open ("number_list.Bin "," WB ")
# Deklarieren Sie eine Liste numerischer Werte
Zahlen = [10,30,45,60,70,85,99]
# Die Liste in Array konvertieren
Barray = Bytearray (Zahlen)
# Array in die Datei schreiben
Datei.Schreiben Sie (Barray)
Datei.schließen()

Beispiel 1: Lesen Sie die Binärdatei von String-Daten in das Byte-Array

In Python gibt es viele Möglichkeiten, die Binärdatei zu lesen. Sie können die bestimmte Anzahl von Bytes oder den vollständigen Inhalt der Binärdatei gleichzeitig lesen. Erstellen Sie eine Python -Datei mit dem folgenden Skript. Der Open () Funktion hat früher die geöffnet Saite.Behälter zum Lesen. Der Read () Funktion wurde verwendet, um 7 Zeichen aus der Datei in jeder Iteration von während der Schleife und Druck zu lesen. Als nächstes die Read () Funktion wurde ohne Argument verwendet, um den vollständigen Inhalt der Binärdatei zu lesen, die später gedruckt wird.

# Öffnen Sie die Binärdatei zum Lesen
Datei_handler = open ("String.Bin "," RB ")
# Lesen Sie die ersten drei Bytes aus der Binärdatei
Data_Byte = Datei_handler.Lesen (7)
print ("Drei Zeichen in jeder Iteration drucken:")
# Iterieren Sie die Schleife, um den verbleibenden Teil der Datei zu lesen
während Data_Byte:
print (data_byte)
Data_Byte = Datei_handler.Lesen (7)
# Lesen Sie die gesamte Datei als einzelne Byte -Zeichenfolge
mit offen ('String.bin ',' rb ') als FH:
content = fh.lesen()
Druck ("Drucken Sie den vollständigen Inhalt der Binärdatei:")
Druck (Inhalt)

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt.

Beispiel-2: Lesen Sie die Binärdatei von String-Daten in das Array

Erstellen Sie eine Python -Datei mit dem folgenden Skript, um eine binäre Datei benannt zu lesen number_list.Behälter zuvor erstellt. Diese binäre Datei enthält eine Liste numerischer Daten. Wie im vorherigen Beispiel die Open () Funktion Hat die Binärdatei zum Lesen im Skript verwendet. Als nächstes werden die ersten 5 Zahlen aus der Binärdatei gelesen und vor dem Drucken in eine Liste konvertiert.

# Öffnen Sie die Binärdatei zum Lesen
Datei = open ("number_list.Bin "," RB ")
# Lesen Sie die ersten fünf Zahlen in eine Liste
Nummer = Liste (Datei.Lesen Sie (5))
# Drucken Sie die Liste
Druck (Nummer)
# Schließen Sie die Datei
Datei.schließen()

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt. Die Binärdatei enthält 7 Zahlen, und die ersten fünf Zahlen haben in der Ausgabe gedruckt.

Beispiel-3: Binärdatei mit Numpy lesen

Die Möglichkeiten, die Binärdatei mit der Erstellung der Binärdatei zu erstellen Numpy Array und lesen Sie den Inhalt der Binärdatei mithilfe der Liste in eine Liste Numpy Modul haben in diesem Teil des Tutorials gezeigt. Bevor Sie das unten angegebene Skript überprüfen, müssen Sie die installieren Numpy Modul Durch Ausführen des Befehls vom Terminal oder die Installation der Numpy Paket Im Python -Editor, wo das Skript ausgeführt wird. Der toFile () Funktion wird verwendet, um einen Text oder eine binäre Datei zu erstellen, und die von file () Funktion wird verwendet, um ein Array zu erstellen, indem ein Text oder eine Binärdatei gelesen wird.

Syntax von toFile ():

ndarray.Tofile (Datei, sep = ", format = '%s')

Das erste Argument ist obligatorisch und nimmt den Dateinamen oder den String oder den Pfad als Wert an. Die Datei wird erstellt, wenn ein Dateiname in diesem Argument angegeben ist. Das zweite Argument ist optional, mit dem die Array -Elemente getrennt werden. Das dritte Argument ist auch optional und verwendet zur Formatierung der Ausgabe der Textdatei.

Syntax von FomFile ():

Numpy.FromFile (Datei, dType = float, count =- 1, sep = ", Offset = 0, *, Like = None)

Das erste Argument ist obligatorisch und nimmt den Dateinamen oder den String oder den Pfad als Wert an. Der Inhalt der Datei wird gelesen, wenn ein Dateiname in diesem Argument bereitgestellt wird. Der DTYPE Definiert den Datentyp des zurückgegebenen Arrays. Die Anzahl wird verwendet, um die Anzahl der Elemente zu zählen. Der Zweck der Sep soll die Text- oder Array -Elemente trennen. Der Offset wird verwendet, um die aktuelle Position der Datei zu definieren. Das letzte Argument wird verwendet, um ein Array -Objekt zu erstellen, das nicht a Numpy Array.

Erstellen Sie eine Python -Datei mit dem folgenden Skript, um eine binäre Datei mithilfe von Numpy Array und lesen und drucken Sie den Inhalt der Binärdatei.

# Numpy Modul importieren
Numph als NP importieren
# Numpy Array deklarieren
nparray = np.Array ([34, 89, 30, 45, 90, 11])
# Binärdatei aus Numpy Array erstellen
nparray.OFOFILE ("LISTE.Behälter")
# Daten aus der Binärdatei drucken
drucken (np.von file ("Liste.bin ", dType = np.int64))

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt.

Abschluss:

In diesem Tutorial wurden drei verschiedene Möglichkeiten zum Lesen der Binärdatei mit einfachen Beispielen gezeigt. Das erste Beispiel gab den Inhalt der Binärdatei als Byte -Array zurück. Das zweite Beispiel gab den Inhalt der Binärdatei als Liste zurück. Das letzte Beispiel gab auch den Inhalt der Binärdatei als Liste zurück.