Heim >Backend-Entwicklung >Python-Tutorial >Wie behebt man \'TypeError: \'str\' unterstützt die Pufferschnittstelle nicht\' in gzip.open() von Python 3?

Wie behebt man \'TypeError: \'str\' unterstützt die Pufferschnittstelle nicht\' in gzip.open() von Python 3?

Susan Sarandon
Susan SarandonOriginal
2024-11-26 02:40:111013Durchsuche

How to Fix

TypeError: 'str' unterstützt die Pufferschnittstelle nicht

Beim Versuch, die Funktion gzip.open() mit Python 3 zu verwenden, Es kann ein Fehler auftreten: „TypeError: ‚str‘ unterstützt die Pufferschnittstelle nicht.“ Dieser Fehler ist auf den Unterschied zwischen der String-Verarbeitung in Python 3 und seinen Vorgängern zurückzuführen.

In Python 3 sind String-Objekte nicht direkt mit der Pufferschnittstelle kompatibel, sodass sie vor dem Schreiben in Bytes konvertiert werden müssen komprimierte Datei. Dies kann erreicht werden, indem die Zeichenfolge mit einer geeigneten Kodierung wie UTF-8 codiert wird:

plaintext = input("Please enter the text you want to compress").encode("utf-8")
filename = input("Please enter the desired filename")
with gzip.open(filename + ".gz", "wb") as outfile:
    outfile.write(plaintext)

Darüber hinaus wird empfohlen, die Verwendung von Schlüsselwörtern wie „string“ und „file“ als Variablennamen zu vermeiden. da sie mit integrierten Modulen und Funktionen in Konflikt stehen.

Das obige ist der detaillierte Inhalt vonWie behebt man \'TypeError: \'str\' unterstützt die Pufferschnittstelle nicht\' in gzip.open() von Python 3?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn