Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Membetulkan 'TypeError' Python 3: objek seperti bait diperlukan, bukan 'str'' Apabila Mengendalikan Data Fail Binari?

Bagaimana untuk Membetulkan 'TypeError' Python 3: objek seperti bait diperlukan, bukan 'str'' Apabila Mengendalikan Data Fail Binari?

Mary-Kate Olsen
Lepaskan: 2024-12-02 00:45:10
asal
365 orang telah melayarinya

How to Fix Python 3's

Mengendalikan Data Binari: Menyelesaikan TypeError dalam Python 3 Apabila Berurusan dengan Kandungan Fail

Dalam Python 3, isu biasa timbul apabila bekerja dengan fail dan membandingkan rentetan dengan bait. Mesej ralat "TypeError: objek seperti bait diperlukan, bukan 'str'" menunjukkan masalah keserasian antara Python 2.7 dan 3.5.

Dalam Python 2.7, membuka fail sebagai binari (mod 'rb') mengembalikan objek bait apabila membaca fail. Kini dalam Python 3.5, tingkah laku lalai ini telah diubah. Fail terbuka kini ialah fail teks secara lalai (mod 'r'), mengembalikan rentetan apabila dibaca.

Untuk menyelesaikan ralat ini apabila menemui fail 'rb' dengan operasi berasaskan rentetan, terdapat beberapa pendekatan:

  1. Tukar kepada Mod Teks: Buka fail menggunakan mod 'r' dan bukannya 'rb'. Ini akan mengembalikan rentetan, membenarkan perbandingan rentetan tanpa ralat.
  2. Gunakan Perbandingan Bait: Jika perlu membandingkan rentetan dengan bait, cipta objek seperti bait daripada rentetan menggunakan b'some -corak'. Ini akan membolehkan ujian pembendungan lulus.
  3. Nyahkod Objek Bait: Sebagai alternatif, anda boleh membaca objek bait dan menyahkodnya kepada rentetan menggunakan kaedah .decode(). Ini boleh berguna jika anda perlu bekerja dengan rentetan dan bukannya bait.

Ingat untuk mempertimbangkan jenis data kandungan fail anda sebelum melakukan operasi seperti perbandingan rentetan untuk mengelakkan "TypeError" biasa ini dalam Python 3.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan 'TypeError' Python 3: objek seperti bait diperlukan, bukan 'str'' Apabila Mengendalikan Data Fail Binari?. 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