Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Membetulkan \'TypeError: \'str\' tidak menyokong antara muka penimbal\' dalam gzip.open() Python 3?
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!