python字典保存为文件_关于python:如何将字典列表保存到文件中?
我有一份字典的清單。有時,我希望更改并保存其中一個字典,以便在重新啟動腳本時使用新消息?,F在,我通過修改腳本并重新運行它來進行更改。我想從腳本中提取這個,并將字典列表放入某種類型的配置文件中。
我已經找到了如何將列表寫入文件的答案,但這假設它是一個簡單的列表。我怎樣才能用字典列表來做呢?
我的列表如下:
logic_steps = [
{
'pattern':"asdfghjkl",
'message':"This is not possible"
},
{
'pattern':"anotherpatterntomatch",
'message':"The parameter provided application is invalid"
},
{
'pattern':"athirdpatterntomatch",
'message':"Expected value for debugging"
},
]
如果對象只包含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)
我得到錯誤類型錯誤:-0.69429028不是JSON可序列化的
如果要將每個詞典放在一行中:
import json
output_file = open(dest_file, 'w', encoding='utf-8')
for dic in dic_list:
json.dump(dic, output_file)
output_file.write("
")
為了完整起見,我還添加了json.dumps()方法:
with open('outputfile_2', 'w') as file:
file.write(json.dumps(logic_steps, indent=4))
。
這里看看json.dump()和json.dumps()之間的區別。
你將不得不遵循的方式寫一個口述到一個文件是有點不同于你所提到的帖子。
首先,您需要序列化對象,而不是持久化它。這些是"將Python對象寫入文件"的奇特名稱。
默認情況下,python包含3個序列化模塊,您可以使用這些模塊來實現您的目標。它們是:泡菜、架子和JSON。每一個都有自己的特點,你必須使用的是一個更適合你的項目。您應該檢查每個模塊文檔以獲得更多信息。
如果您的數據只能由python代碼訪問,那么您可以使用shelve,下面是一個示例:
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()
請注意,您可以像對待dict一樣對待shelve對象。
總結
以上是生活随笔為你收集整理的python字典保存为文件_关于python:如何将字典列表保存到文件中?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rush learn note
- 下一篇: 利用php合成图片