我有一個詞典列表。偶爾,我想更改並保存其中的一個字典,以便在重新啓動腳本時使用新消息。現在,我通過修改腳本並重新運行腳本來做出更改。我想將它從腳本中提取出來,並將字典列表放入某種配置文件中。如何將字典列表保存到文件?
我已經找到了如何寫一個列表到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()