Ich versuche, eine Textdatei zu öffnen, zu drucken und zu lesen, die Sonderzeichen wie § enthält. Unten ist der Code, den ich verwende:Python readline funktioniert nicht mit Codecs
import codecs
f = codecs.open('sample_text.txt', mode='r', encoding='utf_8')
print f.readline()
Die ersten beiden Zeilen funktionieren, aber die dritte nicht. Der Fehlercode sagt: Traceback (jüngste Aufforderung zuletzt):
"C:\Users\mallikk\Documents\Python Scripts\special_char_test.py", line 6, in <module>
print f.readline()
File "C:\Anaconda2\lib\codecs.py", line 690, in readline
return self.reader.readline(size)
File "C:\Anaconda2\lib\codecs.py", line 545, in readline
data = self.read(readsize, firstline=True)
File "C:\Anaconda2\lib\codecs.py", line 492, in read
newchars, decodedbytes = self.decode(data, self.errors)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xa7 in position 13: invalid start byte
Irgendwelche Ideen? Bitte lassen Sie mich wissen, wenn ich etwas klären oder weitere Details hinzufügen kann. Ich danke dir sehr!
Diese Datei kodiert wird, nicht in UTF-8. Finden Sie die tatsächliche Codierung und verwenden Sie diese. – user2357112
Ich glaube nicht, dass 0xa7 gültig utf8 ist. Bist du sicher, dass es in utf-8 ist? Warum verwenden Sie auch Codecs und nicht 'open'? – syntonym
http://stackoverflow.com/questions/4255305/how-to-determine-encoding-table-of-a-text-file – stark