class ContactList:
def init(self):
self.arr = []
def is_full(self):
return self.num == self.capacity
def add_contact(self, person):
self.arr.append(person)
self.save_contacts()
def is_empty(self):
if not self.arr:
print("当前联系人列表为空!")
def remove_contact(self, name):
person = self.find_contact(name)
if person:
self.arr.remove(person)
self.save_contacts()
print("删除成功!")
self.is_empty()
else:
print("此联系人不存在!")
def show_contacts(self):
print('通讯录:')
for person in self.arr:
print(person)
self.is_empty()
def find_contact(self, name):
for person in self.arr:
if person.name == name:
return person
return None
def modify_contact(self, old_name, new_info):
person = self.find_contact(old_name)
if person:
person.name = new_info.name
person.gender = new_info.gender
person.age = new_info.age
person.telephone = new_info.telephone
person.address = new_info.address
self.save_contacts()
print("修改成功!\n ", person)
else:
print("此联系人不存在!")
def save_contacts(self, filename="contacts.csv"):
with open(filename, 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow(['姓名', '性别', '年龄', '电话', '住址'])
for person in self.arr:
writer.writerow([person.name, person.gender, person.age, person.telephone, person.address])
def load_contacts(self, filename="contacts.csv"):
if not os.path.isfile(filename):
with open(filename, 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow(['姓名', '性别', '年龄', '电话', '住址'])
with open(filename, 'r', newline='', encoding='utf-8') as f:
reader = csv.reader(f)
next(reader)
for row in reader:
if len(row) == 5:
name, gender, age, telephone, address = row
self.add_contact(PersonInformation(name, gender, age, telephone, address))