Menyelesaikan masalah "TypeError: 'str' tidak menyokong antara muka penimbal" dalam Python Gzip Compression
Apabila cuba memampatkan rentetan menggunakan gzip.open(), pengguna mungkin menghadapi ralat "TypeError: 'str' tidak menyokong antara muka penimbal." Ralat ini menandakan bahawa data yang diberikan tidak dalam format yang serasi untuk menulis kepada penimbal.
Untuk menyelesaikan isu ini, rentetan itu perlu ditukar kepada bait. Dalam Python 3, rentetan tidak serasi secara langsung dengan antara muka penimbal. Pengguna harus mengekod rentetan menggunakan pengekodan yang diingini, seperti UTF-8, menggunakan fungsi bytes():
plaintext = input("Please enter the text you want to compress") encoded_text = bytes(plaintext, 'UTF-8') # Use an encoding such as UTF-8 filename = input("Please enter the desired filename") with gzip.open(filename + ".gz", "wb") as outfile: outfile.write(encoded_text)
Pengubahsuaian ini memastikan bahawa data ditukar menjadi objek seperti bait, yang serasi dengan antara muka penimbal dan boleh berjaya ditulis ke arkib gzip.
Adalah dinasihatkan untuk mengelak daripada menggunakan nama pembolehubah yang bercanggah dengan modul atau nama fungsi, seperti "rentetan" atau "fail", kerana ini boleh menyebabkan kekeliruan dan kemungkinan ralat.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan \'TypeError: \'str\' tidak menyokong antara muka penimbal\' dalam Python Gzip Compression?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!