Python3でUTF-8のテキストファイルを読み込むとエラーになってしまいます。
どのように解決すればよろしいでしょうか。
■ソース
python
1# -*- coding: utf-8 -*- 2f = open('test.txt', 'r') 3text = f.read()
■エラーメッセージ
UnicodeDecodeErrorTraceback (most recent call last)
<ipython-input-11-3cbadba0130e> in <module>()
1 # -- coding: utf-8 --
2 f = open('test.txt', 'r')
----> 3 text = f.read()
~/anaconda3/lib/python3.6/encodings/ascii.py in decode(self, input, final)
24 class IncrementalDecoder(codecs.IncrementalDecoder):
25 def decode(self, input, final=False):
---> 26 return codecs.ascii_decode(input, self.errors)[0]
27
28 class StreamWriter(Codec,codecs.StreamWriter):
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 0: ordinal not in range(128)
■補足
pythonのデフォルトエンコーディングとファイルのエンコーディングを調べましたが、どちらもUTF-8でした。
python
1import sys 2print(sys.getdefaultencoding())
上記の実行結果
utf-8
terminal
1$ nkf -g test.txt 2UTF-8
test.txtの内容
あ い
実行環境ですが、次のとおりです。
Python 3.6.3 |Anaconda custom (64-bit)
ubuntu 16.04.3 LTS (macにDockerを入れて使っています。)
他の開発環境では動いたので、環境の問題だと思っていますが、確認するところが分からず、お手上げです。
よろしくお願いします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/24 15:06