永久写入字典

时间:2018-08-22 18:32:04

标签: python-3.x dictionary

首先,我不确定这是否是最好的方法。

因此,我试图弄清楚如何写字典,以便即使我终止程序后也能存储新的键和值。所以说我有:

mydict = {'Name':'John', 'Favourite Colour': 'Blue', 'Age':'10'}
print(mydict)

mydict['Food'] = 'Chicken'

print(mydict)

输出:

{'Name': 'John', 'Favourite Colour': 'Blue', 'Age': '10'}
{'Name': 'John', 'Favourite Colour': 'Blue', 'Age': '10', 'Food': 'Chicken'}

下次我启动该程序时,dict['Food'] = 'Chicken'被删除了。我希望食物钥匙已经被存放在那里。之后,我想用这些键为另一个字典创建“鲍勃”,但根据用户输入给出不同的值。

我应该开始着手建立数据库还是字典来解决这个问题?

2 个答案:

答案 0 :(得分:0)

您可以在退出程序之前对词典进行腌制(保存到文件中),然后在程序启动时对其进行腌制:

import os.path, pickle

SAVED = "mydict.p"
if os.path.isfile(SAVED):
    with open(SAVED, "rb") as infile:
        mydict = pickle.load(infile)
else:
    mydict = ... # Initialize the dictionary for the first time

... # Possibly change mydict here
...

with open(SAVED, "wb") as outfile:
    pickle.dump(mydict, outfile)

答案 1 :(得分:0)

我无法理解您的问题的第一部分。

我找到了问题第二部分的简单实现

Bob={}
Bob=dict.fromkeys(mydict)

以上内容会将密钥从一本词典复制到Bob。

for key,val in Bob.items():
    Bob[key]=input()

以上代码输入复制键的值。