Я использую Python 3.x и хочу запустить следующий код:
import cPickle
x = cPickle.load(open('s01.dat', 'rb'))
Это работает очень хорошо в Python 2.x, но когда я пытаюсь в Python 3, я получаю эту ошибку:
ModuleNotFoundError: Нет модуля с именем 'cPickle'
Я решил это другим постом в StackOverflow и изменил свой код на:
import _pickle as cPickle
x = cPickle.load(open('s07.dat', 'rb'))
И я получаю эту ошибку:
UnicodeDecodeError: кодек «ascii» не может декодировать байт 0x9a в позиции 8: порядковый номер не в диапазоне (128)
Я пытаюсьрешить эту проблему, изменив кодировку следующим образом:
import _pickle as cPickle
x = cPickle.load(open('s07.dat', 'rb',encoding='iso-8859-1'))
или
import _pickle as cPickle
x = cPickle.load(open('s07.dat', 'rb',encoding='utf-8'))
, но все равно я получаю эту ошибку:
ValueError: двоичный режим непримите аргумент кодировки
Мой файл * .dat содержит два массива, и я ожидаю их импорта!Как я мог преодолеть эти проблемы?