我正在使用python 3.7,并且在尝试加载泡菜文件时不断收到错误 代码如下:
import pickle
with open('tenIntensities.pkl','rb') as handle:
tenIntensities = pickle.load(handle)`
我得到:
Traceback (most recent call last):
File "C:UsersShaun GanjuDesktopCodingTextbook_workChapter_3_Wrangling_Spike_Trains.py", line 87, in <module>
tenIntensities = pickle.load(handle)
UnicodeDecodeError: 'ascii' codec can't decode byte 0x80 in position 5: ordinal not in range(128)
我没有太多的编码经验(只是次要的基础知识(,我遵循的教科书对此一无所知,所以我在网上寻找答案并发现该消息是因为我没有使用 UTF-8 编码,所以当我将代码更改为:
import pickle
with open('tenIntensities.pkl', encoding='utf-8') as handle:
tenIntensities = pickle.load(handle)
我收到了这条消息:
Traceback (most recent call last):
File "C:UsersShaun GanjuDesktopCodingTextbook_workChapter_3_Wrangling_Spike_Trains.py", line 87, in <module>
tenIntensities = pickle.load(handle)
TypeError: a bytes-like object is required, not 'str'
我有点卡住了,任何帮助将不胜感激。
我在处理某些东西时遇到了同样的问题。在某些情况下,它可以像这样工作(通过使用 latin-1 编码(:
with open('tenIntensities.pkl', encoding='latin-1') as handle:
tenIntensities = pickle.load(handle)
这也有效:
with open('tenIntensities.pkl', encoding='bytes') as handle:
tenIntensities = pickle.load(handle)
警告:有时这些不起作用 - 无论您如何尝试!