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
DDDasal
2024-11-26 12:06:12731semak imbas

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'))

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)

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!

Kenyataan:
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