§などの特殊文字を含むテキストファイルを開いて、印刷して読み込もうとしています。以下は実行しているコードです:コーデックで動作しないPythonのreadline
import codecs
f = codecs.open('sample_text.txt', mode='r', encoding='utf_8')
print f.readline()
最初の2行は機能しますが、3番目の行は機能しません。エラーコードは言う: トレースバック(最新の呼び出しの最後):
"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
任意のアイデア?私が何かを明確にしたり、詳細を追加できるかどうか教えてください。どうもありがとうございます!
このファイルはUTF-8でエンコードされていません。実際のエンコーディングを探し、それを使用します。 – user2357112
私は0xa7が有効なutf8だとは思わない。あなたはそれがutf-8であると確信していますか?なぜコーデックを使用していて、「オープン」ではないのですか? – syntonym
http://stackoverflow.com/questions/4255305/how-to-determine-encoding-table-of-a-text-file – stark