Python 读取包含JSON文档流的文件
我有一个输入文件,每行有一个JSON文档。我试着读它如下:Python 读取包含JSON文档流的文件,python,json,Python,Json,我有一个输入文件,每行有一个JSON文档。我试着读它如下: import json auth = [] with open("test.json",'rb') as authfile: infile=authfile.readlines() for line in infile: auth_record = json.load(line) auth.append(auth_record) 我得到了下面的错误。出了什么问题 auth_recor
import json
auth = []
with open("test.json",'rb') as authfile:
infile=authfile.readlines()
for line in infile:
auth_record = json.load(line)
auth.append(auth_record)
我得到了下面的错误。出了什么问题
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'
通常,此错误可能是由于unicode编码 尝试将此指令放在代码文件的第一行
# -*- coding: utf-8 -*-
否则,请尝试打开该文件,用troublemaker char编辑该行,并在问题中添加错误,以帮助您更好地进行分析如果您要将字符串解析为文件中的行,请使用json.loads,而不是json.loads[它需要类似文件的对象,因此在传递字符串时会发出抱怨] 因此类似于:
for line in infile:
auth.append(json.loads(line))
您是否查看过realtime.json的内容以确定它是否是有效的json?错误消息明确指出了文件中出现问题的位置。请签出。粘贴你的JSON文件,看看它是否有效。问题是不完整的,没有足够的信息来重现问题-在这种情况下,这意味着一个JSON文件被删减,以包含最少的必要内容,从而重现错误。谢谢你的快速回复。我仔细检查了这个文件,它不是一个json文件,而是一个以行分隔的json object.No文件。这与编码无关,即使它真的这样做了,也不会有任何帮助……特别是,它与源文件的编码无关,因为它发生在解析本身不是Python源的内容时。