我有一个输入文件,每行有一个JSON文档。我试着按如下方式阅读:
auth_record = json.load(line)
File "/opt/anaconda/anaconda/lib/python2.7/json/__init__.py", line 286, in load
return loads(fp.read(),
AttributeError: 'str' object has no attribute 'read'
我得到了以下错误。出了什么问题?
{{1}}
答案 0 :(得分:0)
如果你正在解析一个字符串(就像你在for line in file
中得到的那样),请使用json.loads()
,而不是json.load()
[需要类似文件的对象,因此在抱怨时你把它传给了一个字符串而不是]。
因此像:
for line in infile:
auth.append(json.loads(line))
答案 1 :(得分:-3)
Ussualy这个错误可能是因为unicode编码,
尝试将此指令放在代码文件的第一行
# -*- coding: utf-8 -*-
否则尝试打开文件,编辑带有troublemaker char的行并在问题中添加错误以帮助您更好地