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

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

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-01 08:39:11416semak imbas

How to Fix

Mengendalikan Kandungan Fail dalam Python 3: Menyelesaikan "TypeError: objek seperti bait diperlukan, bukan 'str'"

Dalam Python 2.7, membaca baris daripada fail dan melakukan operasi padanya adalah mudah. Walau bagaimanapun, apabila berhijrah ke Python 3.5, pengguna mungkin menghadapi masalah di mana pernyataan "jika" yang mengandungi perbandingan rentetan dalam gelung for menimbulkan "TypeError: objek seperti bait diperlukan, bukan 'str'". Percanggahan ini timbul daripada pengendalian kandungan fail yang berbeza dalam Python 3.

Dalam Python 3, fail dibuka dalam mod binari secara lalai, bermakna semua data yang dibaca daripada fail dikembalikan sebagai objek bait dan bukannya rentetan. Ini boleh menyebabkan ralat semasa melakukan perbandingan rentetan dalam gelung for.

Untuk menyelesaikan isu ini, terdapat dua pilihan:

  1. Tukar mod buka fail kepada mod teks: Dengan membuka fail dalam mod teks ('r' dan bukannya 'rb'), data akan ditukar secara automatik kepada rentetan apabila dibaca, sekali gus menyelesaikan TypeError.
  2. Gunakan objek seperti bait untuk perbandingan: Jika anda ingin menyimpan fail dalam mod binari, anda boleh menggunakan objek bait untuk perbandingan dan bukannya rentetan. Sebagai contoh, bukannya "jika 'sesetengah-corak' dalam tmp: teruskan", gunakan "jika b'sesetengah-corak' dalam tmp: teruskan".

Dengan mengikuti salah satu daripada kaedah ini, anda boleh memastikan bahawa kandungan fail dikendalikan dengan betul dalam Python 3, menghalang TypeError dan membolehkan anda meneruskan pengekodan anda tanpa gangguan.

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