我有一个词典列表。偶尔,我想更改并保存其中的一个字典,以便在重新启动脚本时使用新消息。现在,我通过修改脚本并重新运行脚本来做出更改。我想将它从脚本中提取出来,并将字典列表放入某种配置文件中。如何将字典列表保存到文件?
我已经找到了如何写一个列表到file的答案,但是这里假定它是一个平面列表。我怎样才能做到这一点与字典清单?
我的名单看起来是这样的:
我有一个词典列表。偶尔,我想更改并保存其中的一个字典,以便在重新启动脚本时使用新消息。现在,我通过修改脚本并重新运行脚本来做出更改。我想将它从脚本中提取出来,并将字典列表放入某种配置文件中。如何将字典列表保存到文件?
我已经找到了如何写一个列表到file的答案,但是这里假定它是一个平面列表。我怎样才能做到这一点与字典清单?
我的名单看起来是这样的:
提供的对象只包含JSON可处理对象(lists
,tuples
,strings
,dicts
,numbers
,None
,True
和False
),你可以转储作为json.dump:
import json
with open('outputfile', 'w') as fout:
json.dump(your_list_of_dict, fout)
你将不得不遵循写一个字典的方式是一种文件与您提到的帖子不同。
首先,您需要序列化对象,而不是坚持它。这些是“将python对象写入文件”的奇特名称。
Python有3个默认包含的序列化模块,您可以使用它来实现您的目标。他们是:腌菜,货架和json。每个人都有自己的特点,你必须使用的是一个更适合你的项目。您应该检查每个模块文档以获取更多信息。
如果你的数据将只能由Python代码访问,你可以使用搁置,这里有一个例子:
import shelve
my_dict = {"foo":"bar"}
# file to be used
shelf = shelve.open("filename.shlf")
# serializing
shelf["my_dict"] = my_dict
shelf.close() # you must close the shelve file!!!
要检索你可以做数据:
import shelve
shelf = shelve.open("filename.shlf") # the same filename that you used before, please
my_dict = shelf["my_dict"]
shelf.close()
请参阅您可以像处理字典一样处理搁置对象。
只是为了完整性我还添加了json.dumps()
方法:
with open('outputfile_2', 'w') as file:
file.write(json.dumps(logic_steps, indent=4))
有json.dump()
和json.dumps()