Heim >Backend-Entwicklung >Python-Tutorial >So beheben Sie TypeError: \'str\' unterstützt die Pufferschnittstelle in Python 3 beim Komprimieren von Text nicht?

So beheben Sie TypeError: \'str\' unterstützt die Pufferschnittstelle in Python 3 beim Komprimieren von Text nicht?

DDD
DDDOriginal
2024-11-26 12:06:12681Durchsuche

How to Resolve TypeError: 'str' Does Not Support the Buffer Interface in Python 3 When Compressing Text?

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!

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