Zum ersten Mal in eine Weile Python zu tun, und ich habe Probleme, eine einfache Scan einer Datei zu tun, wenn ich das folgende Skript ausführen mit Python 3.0.1,UnicodeDecodeError beim Lesen Wörter aus dem Wörterbuch-Datei mit einfachen Python-Skript
with open("/usr/share/dict/words", 'r') as f:
for line in f:
pass
ich erhalte diese Ausnahme:
Traceback (most recent call last):
File "/home/matt/install/test.py", line 2, in <module>
for line in f:
File "/home/matt/install/root/lib/python3.0/io.py", line 1744, in __next__
line = self.readline()
File "/home/matt/install/root/lib/python3.0/io.py", line 1817, in readline
while self._read_chunk():
File "/home/matt/install/root/lib/python3.0/io.py", line 1565, in _read_chunk
self._set_decoded_chars(self._decoder.decode(input_chunk, eof))
File "/home/matt/install/root/lib/python3.0/io.py", line 1299, in decode
output = self.decoder.decode(input, final=final)
File "/home/matt/install/root/lib/python3.0/codecs.py", line 300, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 1689-1692: invalid data
die Zeile in der Datei auf sie explodiert ist „Argentinier“, die in irgendeiner Weise ungewöhnlich zu sein scheinen nicht.
aktualisieren: Ich habe,
encoding="iso-8559-1"
zum open() Anruf, und es das Problem behoben.
Sind Sie sicher, dass Sie nicht 'iso-8859-1' gemeint hat? Das scheint viel häufiger zu sein. Außerdem ist \ xf3 "ó" in Asunción in iso-8859 (und sein Codepunkt U + 00F3 in Unicode), aber in UTF-8 würde es als '\ xc3 \ xb3' dargestellt. – Malvolio
@Malvolio: Es ist durchaus möglich, dass ich den Kodierungsnamen falsch eingegeben habe ;-) –