python - 使用 yield 流式传输到 JSON 文件

标签 python json dictionary

我有一个读取文件的函数,该文件读取 block 并在每次迭代后返回以下内容。

def foo_now():
    for file in all_files:
        key_id, final_text = readChunk(file)
        yield {
            key_id : {
                'desc': final_text
            }
        }

之前我将所有这些返回的字典存储到一个字典中,然后它们将整个字典转储到一个 JSON 文件中,使用:

def foo_earlier():
    temp_dict = dict()
    for file in all_files:
        key_id, final_text = readChunk(file)
        temp_dict.update({key_id : {'desc': final_text}})
    return temp_dict

def saveJSON(filename, data):
    with open(filename, 'wb') as outfile:
        json.dump(data, outfile)
    print "Data saved in " + filename

saveJSON("file.json", foo_earlier())

但现在我想在使用 foo_now() 从文件中读取每个字典时将其逐一转储。我应该怎么做?

最佳答案

for item in foo_now():
    with open("my_out.json","ab") as f:
        json.dump(item,f)

with open("my_out.json","ab") as f:
    for item in foo_now():
        json.dump(item,f)

关于python - 使用 yield 流式传输到 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28178817/

相关文章:

python - 将多个函数映射到键的字典 - Python

python - 类函数与方法?

python - 与 python 2.3 和 Excel 相比,python 2.7 中的 strptime 输出不同

python - 将 numpy 数组转换为 PySide QPixmap

java - 如何使用GSON解析变量名JSON对象?

Android org.json.JSONObject 在单元测试中返回 null

c++ - 在 map 值中插入一个类方法并使用模板

python - Python 2.7 中更快的 io 有哪些其他选项

javascript - 转换整数时间 Facebook 消息时间 - javascript

2个列表之间的Python区别