尝试保存数据时发生AttributeError

时间:2018-11-01 16:39:09

标签: python python-3.x methods

我正在尝试将用户输入保存到条目中。这是我的代码:

def add(mycontacts):
    name = input('Name: ')
    phone = input('Phone: ')
    email = input('Email: ')

    entry = mycontacts.Contact(name, phone, email)
    if name not in mycontacts:
        mycontacts[name] = entry
        print('The entry has been added.')
    else:
        print('That name already exists.')

当我运行它时,它使我误以为

 entry = mycontacts.Contact(name, phone, email)
 AttributeError: 'dict' object has no attribute 'Contact'

mycontacts是:

mycontacts = load_contacts()

load_contacts()是

def load_contacts():
try:
    input_file = open(FileName, 'rb')
    contact_dct = pickle.load(input_file)
    input_file.close()
except IOError:
    contact_dct = {}

return contact_dct

截至目前,“ mycontacts”中保存的值为= {}

不确定是否要执行此操作,将不胜感激。

1 个答案:

答案 0 :(得分:0)

从给出的错误和您的代码中,“ mycontact”是一个词典,并且您正在显式调用不存在的“ Contact”属性。我可以建议您在“ if”语句之前,将值(名称,电话,电子邮件)添加到词典“ mycontact”中;像这样:

mycontacts = {name: name, phone: phone, email:email }

mycontacts[name] = name
mycontacts[phone] = phone
mycontacts[email] = email