Как новичок, я пытаюсь написать программу списка контактов, используя для сохранения данных dict, сохраненный в текстовом файле contacts.txt. Для обновления dict контактов я могу использовать contacts.update (dict2), dict2 - входные данные для нового контакта.Я попробовал приведенный ниже код, но он не работает:
new_entry = {}
# contacts = {}
contacts = contacts_file = open("contacts.txt", 'a+')
def data():
cell = input("Enter cell number: ")
first = input("Enter first name: ")
last = input("Enter last name: ")
new_entry = {cell: (first, last)}
print("NEW ENTRY:" + str(new_entry))
data()
contacts.update(new_entry)
print("CONTACTS: " + str(contacts))
def write_to_file():
contacts_file = open("contacts.txt", 'w')
contacts_file.write(str(contacts))
contacts_file.close()
write_to_file()
Я думаю назначить переменную «контакты» для слова, сохраненного в текстовом файле.Первоначально dict будет пустым, но он будет заполняться новыми данными каждый раз, когда вводятся новые контактные данные.
Но я получаю ошибку: AttributeError: у объекта '_io.TextIOWrapper' нет атрибута 'update' при запуске программы.
Очевидно, что проблема заключается здесь:
contacts = contacts_file = open("contacts.txt", 'a+')
Я хочу назначить словарь в текстовом файле переменным контактам, чтобы контакты обновлялись с помощью new_entry, а обновленный файл контактов снова сохранялся в текстовый файл, перезаписывая исходный файл.
Если яназначать контакты пустому дикту, это также не работает, потому что новые данные просто добавляются в пустой словарь при каждом запуске программы.
Что я делаю не так?
Спасибо,
Андре