初めてしばらくのPythonをやって、と私はトラブル私は、Python 3.0.1で以下のスクリプトを実行し、ファイルの簡単なスキャンを行うことを抱えているが、UnicodeDecodeError読み辞書の単語は簡単なPythonスクリプトでファイルとき
with open("/usr/share/dict/words", 'r') as f:
for line in f:
pass
私はこの例外を取得:
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
それは上に吹くファイルの行は、どのような方法では珍しいように思わない、「アルゼンチン」です。
更新:私は、オープン()の呼び出しに
encoding="iso-8559-1"
を追加し、それが問題を修正しました。
は、あなたが 'ISO-8859-1'を意味するものではなかったことを確認していますか?それははるかに一般的なようです。さらに、\ xf3はAsunciónのiso-8859(そしてUnicodeではコードポイントU + 00F3です)では「ó」ですが、UTF-8では '\ xc3 \ xb3'と表示されます。 – Malvolio
@Malvolio:符号化名を間違って入力した可能性があります;-) –