CodeGym /Java Kurs /Python SELF DE /Arbeiten mit Binärdateien

Arbeiten mit Binärdateien

Python SELF DE
Level 21 , Lektion 4
Verfügbar

5.1 Binärdaten

Die Arbeit mit Binärdateien in Python unterscheidet sich etwas von der Arbeit mit Textdateien, da Binärdateien Daten in einem Format enthalten, das nicht für Menschen lesbar ist. Anstelle von Strings arbeiten Binärdateien mit Bytes.

Um mit Binärdateien zu arbeiten, verwendet man die Funktion open() mit einem Modus, der den Buchstaben 'b' enthält (zum Beispiel 'rb' zum Lesen, 'wb' zum Schreiben und so weiter).

Beispiele zum Öffnen von Binärdateien:

  • Lesen: 'rb'
  • Schreiben: 'wb'
  • Hinzufügen: 'ab'
  • Lesen und Schreiben: 'r+b', 'w+b', 'a+b'

Beispiel:


file = open('example.bin', 'rb')
content = file.read()
print(content)
file.close()

Die Variable 'content' enthält ein Byte-Array.

Binärdaten (Bytes) sind die niedrigste, grundlegendste Ebene der Datenrepräsentation. Jegliche Daten können als Binärdaten gelesen werden.

Das bedeutet, dass eine Textdatei immer als Binärdatei gelesen werden kann, aber nicht jede Binärdatei kann als Text interpretiert werden.

5.2 Lesen von Binärdateien

Lesen des gesamten Datei-Inhalts

Die Methode read() liest den gesamten Inhalt der Datei in Bytes ein.

Beispiel:


file = open('example.bin', 'rb')
content = file.read()
print(content)
file.close()

Lesen einer bestimmten Anzahl von Bytes

Die Methode read(n) liest n Bytes aus der Datei.

Beispiel:


file = open('example.bin', 'rb')
content = file.read(10)  # Liest die ersten 10 Bytes
print(content)
file.close()

Zeilenweises Lesen

Die Methode readline() liest eine Zeile aus der Datei. Bei Binärdateien endet die Zeile mit dem neuen Zeilenzeichen (\n).

Beispiel:


file = open('example.bin', 'rb')
line = file.readline()
print(line)
file.close()

Lesen aller Zeilen

Die Methode readlines() liest alle Zeilen aus der Datei und gibt sie als Liste von Bytes zurück.

Beispiel:


file = open('example.bin', 'rb')
lines = file.readlines()
for line in lines:
    print(line)
file.close()

Methoden zur Arbeit mit Strings funktionieren möglicherweise nicht korrekt, wenn du eine Datei liest, die keinen Text enthält: beispielsweise ein Archiv, ein Bild oder ein Video.

5.3 Schreiben von Binärdaten

Die Methode write() schreibt Bytes in eine Datei. Die Daten zum Schreiben müssen im Byte-Format (bytes) vorliegen.

Lesen und Schreiben von Bildern

Ein Bild aus einer Datei lesen und in eine andere Datei schreiben.


# Bild lesen
with open('input_image.jpg', 'rb') as infile:
    image_data = infile.read()
        
# Bild schreiben
with open('output_image.jpg', 'wb') as outfile:
    outfile.write(image_data)

Es ist auch möglich, Textdaten zu schreiben:

Beispiel:


data = b"Hello, World!"
lines = [b"First line.\n", b"Second line.\n", b"Third line.\n"]
        
file = open('example.bin', 'wb')
file.write(data)
file.writelines(lines)
file.close()
1
Опрос
Arbeiten mit Dateien,  21 уровень,  4 лекция
недоступен
Arbeiten mit Dateien
Arbeiten mit Dateien
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION