python课程设计 好友通讯录(包含写入文件操作)
目录
主要功能:
1 添加好友
添加好友时,姓名和电话号码为必须项,其余项不进行输入时,存储内容为空。
先将学生信息保存在字典中,然后将字典添加到friend_list列表中,save函数是对传入的列表进行写入文件操作。
def insert():
friend_list = []
flag =False
while True:
name = input('请输入姓名:')
if not name:
break
phone = input('请输入电话号码:')
if not phone:
break
if len(phone)!=11:
print('输入不符合要求')
break
address = input('请输入归属地:')
department = input('请输入单位(按enter键不进行输入):')
group= input('请输入分组(按enter键不进行输入):')
remark = input('请输入备注(按enter键不进行输入):')
# 将录入的学生信息保存到字典中
student = {'name': name, 'phone': phone, 'address': address, 'department': department, 'group': group,'remark':remark}
# 将学生信息添加到列表中
friend_list.append(student)
flag=True
answer = input('是否继续添加?y/n\n')
if answer == 'y' or answer == 'Y':
continue
else:
break
# 保存学生信息到文件中
if flag:
save(friend_list)
print('好友信息录入完毕!!!')
2 按姓名查询某个好友
从文件中读取数据,讲读取的数据转换成字典类型再进行查询,将查询到的结果增添到一个空列表中,show_friend函数对列表传来的列表进行输出。
def search_name():
while True:
fri_query = []
name = ''
# 判断文件是否存在
if os.path.exists(fileName):
# 输入查询标号
name = input('请输入要查找好友的姓名:')
# 如果文件存在,并且用户输入了正确的查询标号,则打开文件
with open(fileName, 'r', encoding='utf-8') as rfile:
friend = rfile.readlines()
# 将读取到的信息转换为字典类型
for item in friend:
d = dict(eval(item))
if name != '':
if name == d['name']:
fri_query.append(d)
# 显示查询结果
show_friend(fri_query)
# 是否查询其他学生信息
answer = input('还要查询其他好友吗?y/n\n')
if answer == 'y' or answer == 'y':
continue
else:
break
else:
print('好友信息文件不存在!')
return