ここ (マイナーな編集あり)から次のコードを使用しています:
import _pickle as cPickle
def unpickle(file):
fo = open(file, 'rb')
dict = cPickle.load(fo)
fo.close()
return dict
unpickle('data_batch_1')
コードを実行すると、Python 3.5.2
を使用している場合、次のようになります。
Traceback (most recent call last):
File "open_batch.py", line 10, in <module>
unpickle('data_batch_1')
File "open_batch.py", line 5, in unpickle
dict = cPickle.load(fo)
UnicodeDecodeError: 'ascii' codec can't decode byte 0x8b in position 6: ordinal not in range(128)
この問題を修正するにはどうすればよいですか?
ありがとう。
文字のエンコードに失敗するので
ラテン語を使ってみてください
cPickle.load(file, encoding='latin1')
交換:
dict = cPickle.load(fo)
in npickle関数:
dict = cPickle.load(fo, encoding='latin1')