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