Python: BytesIO-Inhalt in Datei schreiben

English Deutsch

Um den Inhalt einer BytesIO-Instanz in eine Datei zu schreiben, verwenden Sie dieses Snippet:

write_bytesio_to_file.py
with open("out.txt", "wb") as outfile:
    # Den BytesIO-Stream in die Ausgabedatei kopieren
    outfile.write(myio.getbuffer())

Beachten Sie, dass getbuffer() keine Kopie der Werte im BytesIO-Puffer erstellt und daher nicht große Mengen an Speicher verbraucht.

Sie können auch diese Funktion verwenden:

write_bytesio_func.py
def write_bytesio_to_file(filename, bytesio):
    """
    Schreibt den Inhalt des angegebenen BytesIO in eine Datei.
    Erstellt die Datei oder überschreibt sie, falls sie
    noch nicht existiert.
    """
    with open(filename, "wb") as outfile:
        # Den BytesIO-Stream in die Ausgabedatei kopieren
        outfile.write(bytesio.getbuffer())

Vollständiges Beispiel:

bytesio_full_example.py
#!/usr/bin/env python3
from io import BytesIO
import shutil

# Unser BytesIO initialisieren
myio = BytesIO()
myio.write(b"Test 123")

def write_bytesio_to_file(filename, bytesio):
    """
    Schreibt den Inhalt des angegebenen BytesIO in eine Datei.
    Erstellt die Datei oder überschreibt sie, falls sie
    noch nicht existiert.
    """
    with open(filename, "wb") as outfile:
        # Den BytesIO-Stream in die Ausgabedatei kopieren
        outfile.write(bytesio.getbuffer())

write_bytesio_to_file("out.txt", myio)

Check out similar posts by category: Python