ELVYY
В смысле? Словарь хранится.
то есть в файле bd.txt у тебя так и записано построчно ?
Leo:+37544490132
Leonardo DiCaprio:45453454
ну тогда посмотри что в base храниться
{'Leo:+37544490132\nLeonardo DiCaprio:45453454\n}
это явно не словарь, словарь выглядит так
{'Leo':'+37544490132','Leonardo DiCaprio':'45453454'}
import codecs
base = {}
with open(r'D:\python\bd.txt', 'r') as file: # или 'bd.txt' если файл рядом с скриптом
for i in file.read().split('\n'):
if i : # пропускаем пустые строки( если i не пустая строка то заполняем словарь данными)
key,val = i.split(':')
base[key] = val
request = input('Введите имя человека, которого хотите найти: ')
try:
print(base[request])
except KeyError:
print('Такого человека не существует')
answer = input('Желаете добавить контакт? (у - да, n - нет): ')
if answer == 'y':
name,data = input('Введите имя >>> '), input('информация >>> ')
with codecs.open(r'D:\python\bd.txt', 'a') as file:
file.write('{}:{}'.format('\n'+name,data))
print('Человек успешно сохранен')
а вообще лучше через
консервацию данных