AttributeError при попытке сохранить данные - PullRequest
0 голосов
/ 01 ноября 2018

Я пытаюсь сохранить пользовательский ввод в запись. Это мой код:

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 голосов
/ 01 ноября 2018

Исходя из указанной ошибки и вашего кода, «mycontact» является словарем, и вы явно вызываете атрибут «Контакт», который не существует. Могу ли я предложить вам добавить значения (имя, телефон, адрес электронной почты) в словарь «mycontact» перед выражением «if»; Вот так:

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

или

mycontacts[name] = name
mycontacts[phone] = phone
mycontacts[email] = email
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...