Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menyelesaikan 'TypeError: objek seperti bait diperlukan' Apabila Mengendalikan Kandungan Fail?

Bagaimana untuk Menyelesaikan 'TypeError: objek seperti bait diperlukan' Apabila Mengendalikan Kandungan Fail?

Susan Sarandon
Lepaskan: 2024-12-02 17:54:12
asal
675 orang telah melayarinya

How to Resolve Python's

Mengendalikan Ralat Kandungan Fail dalam Python 3: Menyelesaikan "TypeError: objek seperti bait diperlukan"

Python 3 telah memperkenalkan perubahan ketara dalam cara ia mengendalikan kandungan fail. Ini boleh menyebabkan ralat apabila memindahkan kod daripada versi Python yang lebih awal, seperti "TypeError: objek seperti bait diperlukan, bukan 'str'".

Ralat berlaku apabila cuba melakukan rentetan- seperti operasi pada objek bait, biasanya terhasil daripada membuka fail dalam mod binari (cth., 'rb'). Mari kita periksa senario biasa di mana ralat ini mungkin timbul:

with open(fname, 'rb') as f:
    lines = [x.strip() for x in f.readlines()]

for line in lines:
    tmp = line.strip().lower()
    if 'some-pattern' in tmp: continue
    # ... code
Salin selepas log masuk

Dalam contoh ini, nama fail dibuka dalam mod binari, bermakna semua data yang dibaca daripadanya dikembalikan sebagai objek bait. Walau bagaimanapun, pembolehubah baris berikutnya dianggap sebagai rentetan oleh operator in.

Untuk menyelesaikan ralat, seseorang boleh sama ada menyahkod objek bait atau membuka fail dalam mod teks dan bukannya mod binari.

Menyahkod Objek Bait

Untuk menyahkod objek bait tmp ke dalam rentetan, seseorang boleh menggunakan nyahkod() kaedah:

if b'some-pattern' in tmp.decode(): continue
Salin selepas log masuk

Membuka Fail dalam Mod Teks

Sebagai alternatif, fail boleh dibuka dalam mod teks ('r' bukannya 'rb'), yang akan menyahkod data secara automatik sebagai ia dibaca:

with open(fname, 'r') as f:
    lines = [x.strip() for x in f.readlines()]

for line in lines:
    tmp = line.strip().lower()
    if 'some-pattern' in tmp: continue
    # ... code
Salin selepas log masuk

Dengan mengikuti garis panduan ini, anda boleh memastikan bahawa kod Python 3 anda mengendalikan kandungan fail dengan betul dan mengelakkan Ralat "TypeError: objek seperti bait diperlukan".

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan 'TypeError: objek seperti bait diperlukan' Apabila Mengendalikan Kandungan Fail?. 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