Rumah > pembangunan bahagian belakang > Tutorial Python > Cara Menyelesaikan TypeError: \'str\' Tidak Menyokong Antara Muka Penampan dalam Python 3 Apabila Memampatkan Teks?

Cara Menyelesaikan TypeError: \'str\' Tidak Menyokong Antara Muka Penampan dalam Python 3 Apabila Memampatkan Teks?

DDD
Lepaskan: 2024-11-26 12:06:12
asal
734 orang telah melayarinya

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

TypeError: 'str' Tidak Menyokong Antara Muka Penampan

Menggunakan Python3, anda mungkin menghadapi ralat ini disebabkan pengendalian rentetan yang berbeza berbanding Python2. Untuk menyelesaikan isu ini, anda mesti mengekod rentetan ke dalam bait.

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'))
Salin selepas log masuk

Dalam Python3, rentetan tidak sama dengan rentetan dalam Python2, yang memerlukan penggunaan fungsi bait(). Selain itu, pertimbangkan untuk mengelakkan nama pembolehubah seperti "rentetan" atau "fail" kerana ia sudah ditakrifkan sebagai fungsi atau modul.

Untuk pemampatan teks komprehensif, termasuk aksara bukan ASCII, kod yang disediakan menggunakan pengekodan UTF-8 untuk memastikan integriti huruf Poland.

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)
Salin selepas log masuk

Atas ialah kandungan terperinci Cara Menyelesaikan TypeError: \'str\' Tidak Menyokong Antara Muka Penampan dalam Python 3 Apabila Memampatkan Teks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan