【发布时间】:2016-08-18 01:11:29
【问题描述】:
我有一个大的for loop,我在其中创建 json 对象,我希望能够在每次迭代中将对象流式写入文件。我希望以后能够以类似的方式使用该文件(一次读取一个对象)。
我的 json 对象包含换行符,我不能将每个对象作为文件中的一行转储。
我怎样才能做到这一点?
为了更具体,请考虑以下几点:
for _id in collection:
dict_obj = build_dict(_id) # build a dictionary object
with open('file.json', 'a') as f:
stream_dump(dict_obj, f)
stream_dump 是我想要的功能。
请注意,我不想创建一个大列表并使用json.dump(obj, file) 之类的东西转储整个列表。我希望能够在每次迭代中将对象附加到文件中。
谢谢。
【问题讨论】:
-
如果我不明白你的问题是错误的,在你写对象和读取创建一个新对象后,在每次迭代中,你的数据似乎都没有像“-----”这样的分隔线当你看到那个分隔符时。
-
啊,我明白了。这绝对有效。我认为可能还有其他流处理解决方案。
标签: python json dictionary