Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Membetulkan UnicodeDecodeError Apabila Membaca Fail dalam Python?

Bagaimana untuk Membetulkan UnicodeDecodeError Apabila Membaca Fail dalam Python?

DDD
DDDasal
2024-11-04 05:06:29296semak imbas

How to Fix UnicodeDecodeError When Reading Files in Python?

UnicodeDecodeError dengan "for line in..."

Apabila melelaran melalui baris dalam fail menggunakan "for line in... " sintaks, anda mungkin menghadapi UnicodeDecodeError jika fail mengandungi aksara bukan UTF-8. Ralat ini berlaku kerana pengekodan lalai yang digunakan oleh fungsi open() Python ialah UTF-8, yang mungkin tidak sepadan dengan pengekodan sebenar fail.

Penyelesaian:

Untuk membetulkan ralat ini, anda perlu menentukan pengekodan fail yang betul semasa membuka fail. Cara paling mudah untuk melakukan ini ialah menggunakan parameter pengekodan fungsi open(). Contohnya:

<code class="python">for line in open('u.item', encoding='utf-8'):
    # Read each line</code>

Walau bagaimanapun, jika fail tidak dikodkan dalam UTF-8, anda perlu menentukan pengekodan yang betul. Dalam kes anda, pengekodan yang betul untuk fail ialah "ISO-8859-1". Untuk menggunakan pengekodan ini, gantikan panggilan open() dengan:

<code class="python">for line in open('u.item', encoding='ISO-8859-1'):
    # Read each line</code>

Ini sepatutnya menyelesaikan UnicodeDecodeError dan membolehkan anda melelar melalui baris dalam fail dengan betul.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan UnicodeDecodeError Apabila Membaca Fail dalam Python?. 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