Heim >Backend-Entwicklung >Python-Tutorial >Wie behebe ich den TypeError: \'str\' unterstützt die Pufferschnittstelle nicht, wenn gzip.open in Python verwendet wird?
TypeError: 'str' unterstützt die Pufferschnittstelle nicht
Frage:
Wann Beim Versuch, eine Zeichenfolge mit der gzip.open-Funktion von Python zu komprimieren, tritt ein Fehler auf geworfen:
TypeError: 'str' does not support the buffer interface
Wie kann dieses Problem gelöst werden?
Antwort:
Python 3-Upgrade: In Python 3, Zeichenfolgen sind Unicode-Objekte und haben keine Pufferschnittstelle. Um das Problem zu lösen, muss die Zeichenfolge vor dem Schreiben in die Ausgabedatei in Bytes konvertiert werden:
plaintext = input("Please enter the text you want to compress") filename = input("Please enter the desired filename") with gzip.open(filename + ".gz", "wb") as outfile: outfile.write(plaintext.encode())
Pufferkompatibilität: Um die Kompatibilität mit älteren Python-Versionen sicherzustellen, geben Sie die Codierung explizit an:
outfile.write(plaintext.encode('utf-8'))
Das obige ist der detaillierte Inhalt vonWie behebe ich den TypeError: \'str\' unterstützt die Pufferschnittstelle nicht, wenn gzip.open in Python verwendet wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!