Heim  >  Artikel  >  Backend-Entwicklung  >  Wie lese (oder schreibe) ich Binärdaten in Python?

Wie lese (oder schreibe) ich Binärdaten in Python?

WBOY
WBOYnach vorne
2023-09-03 08:57:201774Durchsuche

Um Binärdateien zu lesen oder zu schreiben, müssen Sie zunächst die verschiedenen Dateimodi von Binärdateien in Python verstehen -

Modus Beschreibung
rb Öffnen Sie eine Datei im schreibgeschützten Binärformat. Der Dateizeiger befindet sich am Anfang der Datei. Dies ist der Standardmodus.
rb+ Öffnen Sie eine Datei im Binärformat zum Lesen und Schreiben. Der Dateizeiger wird am Anfang der Datei platziert.
wb Öffnen Sie nur Dateien, die im Binärformat geschrieben sind. Überschreibt die Datei, falls vorhanden. Wenn die Datei nicht existiert, wird eine neue Datei zum Schreiben erstellt.
wb+ Öffnen Sie eine Datei im Binärformat zum Schreiben und Lesen. Wenn die Datei vorhanden ist, wird die vorhandene Datei überschrieben. Wenn die Datei nicht vorhanden ist, wird eine neue Datei zum Lesen und Schreiben erstellt.
ab Öffnen Sie eine Datei zum Anhängen im Binärformat. Wenn die Datei vorhanden ist, befindet sich der Dateizeiger am Ende der Datei. Das heißt, die Datei befindet sich im Anhängemodus. Wenn die Datei nicht existiert, wird eine neue Datei zum Schreiben erstellt.
ab+ Öffnen Sie Dateien zum Anhängen und Lesen im Binärformat. Wenn die Datei vorhanden ist, befindet sich der Dateizeiger am Ende der Datei. Die Datei wird im Anhängemodus geöffnet. Wenn die Datei nicht existiert, wird eine neue Datei zum Lesen und Schreiben erstellt.

Binärdateien lesen

Angenommen, wir haben eine Binärdatei. Wir können es mit der Methode read() lesen. Zuerst öffnen wir die Binärdatei im rb-Modus der open()-Methode. Wir haben die folgenden Quelldateien im Laufwerk D: -

Wie lese (oder schreibe) ich Binärdaten in Python?

Beispiel

Sehen wir uns den vollständigen Code an

# Open a binary file
f = open('D:\PythonLogo.png', 'rb')

# Read lines
data = f.read()

# Display the data
print(data)

Ausgabe

Die Binärdatei ist nicht lesbar und der Inhalt wird nicht erkannt. Die tatsächliche Leistung ist größer. Nachfolgend zeigen wir nur einen Teil davon.

b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x04\xb0\x00\x00\x04\xb0\x08\x06\x00\x00\x00
\xeb!\xb3\xcf\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f\x0b\xfca\x05\x00\x00\x00
cHRM\x00\x00z&\x00\x00\x80\x84\x00\x00\xfa\x00\x00\x00\x80\xe8\x00\x00u0\x00\x00\xea`\x0
0\x00:\x98\x00\x00\x17p\x9c\xbaQ<\x00\x00\x00\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x
93\x00\x00\x00\x07tIME\x07\xe1\x08\n\x07\x16\x07\xc9\xb2\xff\xd3\x00\x00\x80\x00IDATx\xda\
xec\x9dw\xbc]e\x95\xf7\x7f\xcf>\xe7\xa6\x91@\xe8\xc5\x02\xa2\x88\x14q0B\x12\xc0\x99\x00!\x
88(\x02\x9a\x8c\x85"\xea\x80b\xc5\x02\xa1\xf8z\xa78\x8aJ\x13EeF\x1d\xdb\x94\x80@\x08\xea\x
a0\x8c\xe0\x0c\x98\x10`\x94\x92\xd0D@,#\x88\xd4\x90r\xef\xd9\xeb\xfd#\x01\x02i\xe7\x9e\xb3
\xcb\xf3\xac\xfd\xfd~>\xef;
.
.
.
\xcdn\xd2d\xb1Q\xdf\xfa\xe9\x8d|\x8f\x14\x00\x00\x00\xb4\t\x02\x0b\x00\x00\x00\xe0Q\x98\xa
9\xd0\xd5\xc7\x1c$Izp\xee>\x9a\xd8\xfa\x98\x1d\xffdr\x7f\x153\x8f\xfa\xf8\xa3\xcdQJ\x07\xec\x
e5\xc8\xf5X\x95\x96\x1eu\n\xdb\xac\xa4-
{\xf9{\xdbe\xf6\xc0#\xfe\xa7\t\xdd\xaf\xed\x9a\xd9\xd1\xf5\xe4\x83\xdawf\xc7w>m\xdb\xbc5-
X\xff
\xb3\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd02\xff?\xca\x9f\x86X\x17m\x83=\
x00\x00\x00%tEXtdate:create\x002017-08-
10T07:22:07+00:00u\xea\xe6c\x00\x00\x00%tEXtdate:modify\x002017-08-
10T07:22:07+00:00\x04\xb7^\xdf\x00\x00\x00\x00IEND\xaeB`\x82'

In Binärdatei schreiben

Der

wb-Modus der open()-Methode wird verwendet, um die Datei im Schreibformat zu öffnen.

Achtung – Die Binärdatei ist nicht lesbar und der Inhalt wird nicht erkannt

Schauen wir uns das vollständige Beispiel an. Hier wird die Datei im E-Laufwerk mit dem Namen

gespeichert

Beispiel

MyDemoBinary.bin -

# Open a file in binary format for writing
f = open("E:\MyDemoBinary.bin","wb")

# Elements to be added to the binary file
a = [100, 200, 300]

# Convert the integer elements to a bytearray
myArr = bytearray(a)

# The byte representation ius now written to the file
f.write(myArr)
f.close()

Ausgabe

Nachdem die Datei ausgeführt wurde, wird sie im festgelegten Pfad angezeigt, d. h. im Laufwerk E –

Wie lese (oder schreibe) ich Binärdaten in Python?

Das obige ist der detaillierte Inhalt vonWie lese (oder schreibe) ich Binärdaten in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen