Heim >Backend-Entwicklung >Python-Tutorial >So beheben Sie TypeError: \'str\' unterstützt die Pufferschnittstelle in Python 3 beim Komprimieren von Text nicht?
TypeError: 'str' Does Not Support the Buffer Interface
Bei Verwendung von Python3 kann dieser Fehler aufgrund der unterschiedlichen Verarbeitung von Zeichenfolgen auftreten im Vergleich zu Python2. Um dieses Problem zu beheben, müssen Sie die Zeichenfolge in Bytes kodieren.
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(bytes(plaintext, 'UTF-8'))
In Python3 sind Zeichenfolgen nicht mit denen in Python2 identisch, sodass die Verwendung der Funktion bytes() erforderlich ist. Erwägen Sie außerdem, Variablennamen wie „String“ oder „Datei“ zu vermeiden, da diese bereits als Funktionen oder Module definiert sind.
Für eine umfassende Textkomprimierung, einschließlich Nicht-ASCII-Zeichen, verwendet der bereitgestellte Code die UTF-8-Kodierung Stellen Sie die Integrität der polnischen Buchstaben sicher.
plaintext = 'Polish text: ąćęłńóśźżĄĆĘŁŃÓŚŹŻ' filename = 'foo.gz' with gzip.open(filename, 'wb') as outfile: outfile.write(bytes(plaintext, 'UTF-8')) with gzip.open(filename, 'r') as infile: outfile_content = infile.read().decode('UTF-8') print(outfile_content)
Das obige ist der detaillierte Inhalt vonSo beheben Sie TypeError: \'str\' unterstützt die Pufferschnittstelle in Python 3 beim Komprimieren von Text nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!