Binäres file-ähnliches Objekt wrappen, um dekodiertes Text-file-ähnliches Objekt in Python zu erhalten

English Deutsch

Problem:

In Python hast du ein file-ähnliches Objekt, das Binärdaten liest (z.B. wenn du eine Datei mit open("my-file", "rb") öffnest)

Du möchtest dieses file-ähnliche Objekt an eine Funktion übergeben, die ein file-ähnliches Objekt im Textmodus erwartet (d.h. aus dem du str lesen kannst, nicht bytes).

Lösung

Verwende io.TextIOWrapper:

textiowrapper_example.py
with open("fp-lib-table", "rb") as infile:
    # infile.read() würde bytes zurückgeben
    text_infile = io.TextIOWrapper(infile)
    # text-infile.read() würde einen str zurückgeben

Falls du eine spezifische Kodierung verwenden musst, verwende encoding=...:

textiowrapper_encoding_example.py
text_infile = io.TextIOWrapper(infile, encoding="utf-8")

Check out similar posts by category: Python