Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menyelesaikan TypeError: \'str\' tidak menyokong antara muka penimbal apabila menggunakan gzip.open dalam Python?

Bagaimana untuk Menyelesaikan TypeError: \'str\' tidak menyokong antara muka penimbal apabila menggunakan gzip.open dalam Python?

Patricia Arquette
Lepaskan: 2024-12-20 11:32:10
asal
455 orang telah melayarinya

How to Resolve the TypeError: 'str' does not support the buffer interface when using gzip.open in Python?

TypeError: 'str' tidak menyokong antara muka penimbal

Soalan:

Bila cuba memampatkan rentetan menggunakan fungsi gzip.open Python, ralat ialah dilemparkan:

TypeError: 'str' does not support the buffer interface
Salin selepas log masuk

Bagaimanakah isu ini boleh diselesaikan?

Jawapan:

Naik Taraf Python 3: Dalam Python 3, rentetan ialah objek Unicode dan tidak mempunyai antara muka penimbal. Untuk menyelesaikan isu ini, rentetan mesti ditukar kepada bait sebelum menulis ke fail luar:

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

Keserasian Penampan: Untuk memastikan keserasian dengan versi Python yang lebih lama, nyatakan pengekodan secara eksplisit:

outfile.write(plaintext.encode('utf-8'))
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan TypeError: 'str' tidak menyokong antara muka penimbal apabila menggunakan gzip.open dalam Python?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan