Адресная Книга. Задача из a byte of python
Пишу адресную книгу из a byte of python. Столкнулся с проблемой что словарь перезаписывается вместо того что бы добавлять новые контакты. Здесь используется модуль pickle. Как сделать что бы код добавлял новые ключ и значение в словарь?
import pickle
import os
os.chdir(r'C:\Users\User\Documents\Programms\Reserv')
class slovar:
def __init__(self,name,email) :
self.name = name
self.email = email
def add(self):
with open('it.data', 'wb') as f :
ad = {}
ad[self.name] = self.email
pickle.dump(ad,f)
f.close()
def open(self):
f = open('it.data', 'rb')
a = pickle.load(f)
print(a)
f.close()
def delete(self):
f = open('it.data', 'wb')
b = pickle.load(f)
del self.ad[self.name]
print(b)
f.close()
def change(self,):
newname = input('имя: ')
newemail = input('адрес: ')
do = input("Что делаем?: ")
if do == '0':
n = input('Имя: ')
e = input('Введите адрес: ')
adrees = slovar(n,e)
adrees.add()
elif do == '1' :
adrees = slovar(name=None,email=None)
adrees.open()
elif do == '2' :
a = input('имя: ')
adrees = slovar(a,email=None)
adrees.delete()