我的代码通常运行几天,并以Python dicts和float变量的形式喷出中间结果。我无法将所有中间值附加到Python列表,并在运行后一次性使用pickle等将所有输出保存到物理文件。这是因为,如果中断,我可能会丢失到目前为止收集的所有数据。
所以我必须定期转储(并附加)多个dicts和其他变量。做这个的最好方式是什么 ?我已经查看了JSON(但不确定如何从单个文件中存储(以及稍后读取)多个JSON对象。我可以将我的数据附加到pickle文件吗?将这些数据保存在简单的文本文件或csv文件中将是我的最后一招。
答案 0 :(得分:4)
使用json
。这是保护的一个很好的变种,可以编辑文件:
import json
list_of_dict = [
{'a': 1},
{'b': 2}
]
with open('filename.json', 'w') as f:
json.dump(list_of_dict, f, sort_keys=True, indent=4)
答案 1 :(得分:0)
这取决于您的要求
附加数据是否需要引用前一个数据
使用泡菜