Heim > Backend-Entwicklung > Python-Tutorial > Wie behebe ich einen „UnicodeDecodeError' beim Lesen von Textdateien in Python?

Wie behebe ich einen „UnicodeDecodeError' beim Lesen von Textdateien in Python?

Mary-Kate Olsen
Freigeben: 2024-12-13 00:18:22
Original
531 Leute haben es durchsucht

How to Fix a 'UnicodeDecodeError' When Reading Text Files in Python?

Behebung von „UnicodeDecodeError“ und Codierungskonvertierung

Beim Versuch, in einer Textdatei gespeicherte Daten zu manipulieren, ist der folgende Fehler aufgetreten:

Traceback (most recent call last):  
File "SCRIPT LOCATION", line NUMBER, in <module>  
    text = file.read()
File "C:\Python31\lib\encodings\cp1252.py", line 23, in decode  
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 2907500: character maps to `<undefined>`  
Nach dem Login kopieren

Dieser Fehler ist auf eine Diskrepanz zwischen der angenommenen Kodierung (CP1252) und der tatsächlichen Kodierung der Datei zurückzuführen. Um dieses Problem zu lösen, müssen wir die richtige Kodierung identifizieren und beim Öffnen der Datei explizit angeben.

Identifizieren der Dateikodierung

Wie in der Frage angegeben, bestimmend Die Kodierung der Datei ist entscheidend. Leider muss dies manuell erfolgen. Zu den gängigen Kodierungen gehören Latin-1 und UTF-8. Da 0x90 jedoch kein gültiges Zeichen in Latin-1 ist, ist UTF-8 ein guter Kandidat.

Angabe der Kodierung

Sobald Sie die Kodierung festgelegt haben , Sie können es beim Öffnen der Datei mit dem Kodierungsparameter angeben:

file = open(filename, encoding="utf8")
Nach dem Login kopieren

Durch die Bereitstellung der richtigen Kodierung kann Python ordnungsgemäß funktionieren Dekodieren Sie die Textdatei und ermöglichen Sie Ihnen, ihren Inhalt zu bearbeiten, ohne auf die Ausnahme „UnicodeDecodeError“ zu stoßen.

Das obige ist der detaillierte Inhalt vonWie behebe ich einen „UnicodeDecodeError' beim Lesen von Textdateien in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage