1

我正在创建一个 dict 来保存姓名和电话号码,通过 pickle 存储到本地。我现在面临的问题是:合并似乎无法正常工作。, 任何想法?谢谢。

import pickle
def add(name,contact):
    person= {};  
    person[name] = contact;
    print('new added: ',person);

    mycontactfile = 'contactlist.txt';
    f = open(mycontactfile,'rb');
    storedcontact = pickle.load(f);
    f.close();
    print('saved list:',storedcontact);

    storedcontact.update(person); # add a new contact to the list

    f = open(mycontactfile,'wb');
    pickle.dump(storedcontact,f);

    print('now full list is:' ,storedcontact);
4

1 回答 1

0

如果您有多个联系人的名字,您将需要一个dictof list。你会添加这样的联系人

if name in storedcontact:
    storedcontact.append(contact)
else:
    storedcontact[name] = contact

更好的是,停止使用泡菜并切换到sqlite

另外:你也可以person像这样一步初始化(但你不再需要person了)

person = {name: contact}
于 2013-11-15T03:23:55.747 回答