Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Membetulkan \'TypeError: \'str\' tidak menyokong antara muka penimbal\' dalam gzip.open() Python 3?

Bagaimana untuk Membetulkan \'TypeError: \'str\' tidak menyokong antara muka penimbal\' dalam gzip.open() Python 3?

Susan Sarandon
Susan Sarandonasal
2024-11-26 02:40:111021semak imbas

How to Fix

TypeError: 'str' tidak Menyokong Antara Muka Penampan

Apabila cuba menggunakan fungsi gzip.open() dengan Python 3, ralat mungkin timbul: "TypeError: 'str' tidak menyokong antara muka penimbal." Ralat ini berpunca daripada perbezaan antara pengendalian rentetan dalam Python 3 dan pendahulunya.

Dalam Python 3, objek rentetan tidak serasi secara langsung dengan antara muka penimbal, menjadikannya perlu untuk menukarnya kepada bait sebelum menulisnya kepada fail termampat. Ini boleh dicapai dengan mengekod rentetan dengan pengekodan yang sesuai, seperti UTF-8:

plaintext = input("Please enter the text you want to compress").encode("utf-8")
filename = input("Please enter the desired filename")
with gzip.open(filename + ".gz", "wb") as outfile:
    outfile.write(plaintext)

Selain itu, adalah disyorkan untuk mengelak daripada menggunakan kata kunci seperti "rentetan" dan "fail" sebagai nama pembolehubah, kerana ia bercanggah dengan modul dan fungsi terbina dalam.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan \'TypeError: \'str\' tidak menyokong antara muka penimbal\' dalam gzip.open() Python 3?. 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