Bytes in eine Datei schreiben in Python

Manav Narula 30 Januar 2023
  1. Schreiben von Bytes in eine Datei in Python
  2. Ein Byte-Array in eine Datei schreiben in Python
  3. Schreiben von BytesIO-Objekten in eine Binärdatei
Bytes in eine Datei schreiben in Python

In diesem Tutorial wird gezeigt, wie man in Python Bytes in eine Binärdatei schreiben kann.

Binärdateien enthalten Zeichenketten vom Typ Byte. Wenn wir eine Binärdatei lesen, wird ein Objekt vom Typ Bytes zurückgegeben. In Python werden Bytes durch hexadezimale Ziffern dargestellt. Ihnen wird das Zeichen b vorangestellt, das anzeigt, dass es sich um Bytes handelt.

Schreiben von Bytes in eine Datei in Python

Um Bytes in eine Datei zu schreiben, erstellen wir zunächst ein Dateiobjekt mit der Funktion open() und geben den Pfad der Datei an. Die Datei sollte im Modus wb geöffnet werden, der den Schreibmodus in Binärdateien angibt. Der folgende Code zeigt, wie wir Bytes in eine Datei schreiben können.

data = b"\xC3\xA9"

with open("test.bin", "wb") as f:
    f.write(data)

Wir können auch den Anfügemodus - a verwenden, wenn wir weitere Daten am Ende der bestehenden Datei hinzufügen müssen. Ein Beispiel:

data = b"\xC3\xA9"

with open("test.bin", "ab") as f:
    f.write(data)

Um Bytes an eine bestimmte Position zu schreiben, können wir die Funktion seek() verwenden, die die Position des Dateizeigers zum Lesen und Schreiben von Daten angibt. Ein Beispiel:

data = b"\xC3\xA9"

with open("test.bin", "wb") as f:
    f.seek(2)
    f.write(data)

Ein Byte-Array in eine Datei schreiben in Python

Wir können ein Byte-Array mit der Funktion bytearray() erstellen. Sie gibt ein veränderbares bytearray-Objekt zurück. Wir können es auch in Bytes umwandeln, um es unveränderbar zu machen. Im folgenden Beispiel schreiben wir ein Byte-Array in eine Datei.

arr = bytearray([1, 2, 5])
b_arr = bytes(arr)

with open("test.bin", "wb") as f:
    f.write(b_arr)

Schreiben von BytesIO-Objekten in eine Binärdatei

Das Modul io erlaubt uns, Eingabe-Ausgabe-Funktionen und Klassen zu erweitern, die sich auf die Handhabung von Dateien beziehen. Es wird verwendet, um Bytes und Daten in Chunks im Speicherpuffer zu speichern und erlaubt uns auch, mit den Unicode-Daten zu arbeiten. Die Methode getbuffer() der Klasse BytesIO wird hier verwendet, um eine Lese-Schreib-Ansicht des Objekts zu holen. Siehe den folgenden Code.

from io import BytesIO

bytesio_o = BytesIO(b"\xC3\xA9")

with open("test.bin", "wb") as f:
    f.write(bytesio_o.getbuffer())
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Verwandter Artikel - Python File