2024-04-25 10:20:37 发布
网友
我正试图通过在一个json文件上逐个附加/转储,将多个可能是20个字典写入一个json文件,到目前为止,我已经完成了下面的代码,但我做不到。如果有人知道更好的方法,请提供帮助
run1 = client.send_get('get_tests/11023') run2 = client.send_get('get_tests/11038') with open('result.json', 'w') as fp: json.dump(run1, fp)
我不确定这是否可能。当你读回文件的内容时,你期望得到什么?你知道吗
当您从文件中读取某些内容时,它应该是有效的json,以便加载。一个选择是创建一个这样的字典
d = dict(run1 = run1, run2 = run2, ... )
然后json.dumpd将其自身放入文件中。你知道吗
json.dump
d
更新: 下面是一个例子。它使用列表而不是字典(基于你的评论),但想法是一样的。你知道吗
run1 = dict(status = "ok", message = "All good") run2 = dict(status = "error", message = "Couldn't connect") def save_data(*runs): with open("foo.json", "w") as f: json.dump(list(runs), f) def load_data(fname): with open(fname) as f: return json.load(f) save_data(run1, run2) outputs = load_data("foo.json") print (outputs) [{'status': 'ok', 'message': 'All good'}, {'status': 'error', 'message': "Couldn't connect"}]
试试这个:
run1 = client.send_get('get_tests/11023') run2 = client.send_get('get_tests/11038') with open('result.json', 'w') as fp: json.dumps({'run1': run1, 'run2': run2}, fp)
如果只想在文件中推送一个dict,则必须合并run1和run2:
run1.update(run2)
然后尝试:
with open('result.json', 'w') as fp: json.dumps(run1, fp)
你也可以试试这个:
with open('result.json', 'w') as fp: json.dumps({**run1, **run2}, fp)
我不确定这是否可能。当你读回文件的内容时,你期望得到什么?你知道吗
当您从文件中读取某些内容时,它应该是有效的json,以便加载。一个选择是创建一个这样的字典
然后
json.dump
d
将其自身放入文件中。你知道吗更新: 下面是一个例子。它使用列表而不是字典(基于你的评论),但想法是一样的。你知道吗
试试这个:
如果只想在文件中推送一个dict,则必须合并run1和run2:
然后尝试:
你也可以试试这个:
相关问题 更多 >
编程相关推荐