我正在尝试使用python .loads()函数读取我保存在文本文件中的JSON文件。我稍后将解析JSON以获取特定值。
我一直收到此错误消息。当我谷歌时,没有结果。
UnicodeDecodeError:'ascii'编解码器无法解码位置中的字节0xc2> 85298:序号不在范围内(128)
以下是完整的错误消息:
回溯(最近一次调用最后一次):文件“... / FirstDegreeKanyeScript.py”,>第10行,在data = json.load(data_file)文件>“/ Library / Frameworks / Python.framework / Versions /3.5/lib/python3.5/json/in>it.py“,第265行,在加载返回加载(fp.read(),File>”/ Library / Frameworks / Python中。 framework / Versions / 3.5 / lib / python3.5 / encodings> /ascii.py“,第26行,在decode中返回codecs.ascii_decode(输入,> self.errors)[0] UnicodeDecodeError:'ascii'编解码器不能在位置85298中解码字节0xc2>:序数不在范围(128)
中
这是我的代码:
import json
from pprint import pprint
with
open("/Users/.../KanyeAllSongs.txt") as data_file:
data=json.load(data_file)
pprint(data)
我尝试在data.decode('utf-8')
下添加json.load
,但我仍然遇到同样的错误。
任何想法可能是什么问题?
答案 0 :(得分:25)
在open
来电中指定编码。
# encoding is a keyword argument
open("/Users/.../KanyeAllSongs.txt", encoding='utf-8') as data_file:
data=json.load(data_file)