Unicode解码错误:'ascii'编解码器无法解码位置 5 中的字节0x80:序号不在范围内(128)



我正在使用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)

警告:有时这些不起作用 - 无论您如何尝试!

相关内容

最新更新