phone_dic = {} #保存的电话本
chois = 9 #用户选择菜单
isfind = 0#查找是否存储的电话
print(\'\'\'通讯录功能
1.添加联系人
2.删除联系人
3.查找联系人
4.电话本显示
5.退出
\'\'\')
#
if os.path.isfile(\'phonedic.txt\'): #是否存在文件
if os.path.getsize(\'phonedic.txt\') :
f = open(\'phonedic.txt\',encoding=\'utf-8\',mode=\'r\')
for line in f:
line.strip()
if len(line)>6:#联系人和电话要超过长度6
liststr = line.split(\',\')
phone_dic[liststr[0]] = liststr[1]
print(\'目前已录入的联系人电话:\n\' +\'\n\'.join(phone_dic))
f.close()
while chois != 0:
chois = input(\'请选择你要操作的数字\').strip()
if chois.isdigit():#是否是数字:
if int(chois) == 1:
name = input(\'请输入姓名:\').strip()
phone = input(\'请输入电话号码\').strip()
while len(phone) < 6:
print(\'你输入的电话号码不对,请重新输入\')
phone = input(\'请输入电话号码\').strip()
phone_dic[phone] = name
f = open(\'phonedic.txt\',mode=\'w\',encoding=\'utf-8\')
# if os.path.getsize(\'phonedic.txt\'):
# f.truncate() #truncate() 方法用于截断文件,如果指定了可选参数 size,则表示截断文件为 size 个字符。 如果没有指定 size,则从当前位置起截断;截断之后 size 后面的所有字符被删除。
# for items in phone_dic.items():
# f.write(items[0]+\',\'+items[1] + \'\n\')
# print(phone_dic)
for items in phone_dic.items():
f.write(items[0]+\',\'+items[1]+ \'\n\')
f.close()
print("\033[1;32m 联系人已经保存在通讯录!!! \033[0m")
elif int(chois) == 2:
name = input(\'请输入联系人的电话\').strip()
while len(name) ==0:
print(\'输入错误,请重新输入电话号码\')
if name in phone_dic:
del phone_dic[name]
print(phone_dic)
f = open(\'phonedic.txt\',mode=\'w\',encoding=\'utf-8\')
for items in phone_dic.items():
f.write(items[0]+\',\'+items[1]+\'\n\')
f.close()
print("\033[1;32m 联系人 "+name+ "已删除!! \033[0m" )
print("保存的联系人电话是:\n " + "\n ".join(phone_dic))
else:
print(\'\033[1;32m 通讯录中不存在要删除的联系人!!! \033[0m\')
elif int(chois) == 3:
name = input(\'请输入联系人电话\').strip()
while len(name) == 0:
print(\'输入错误,请重新输入电话号码\')
isfind = 0
for items in phone_dic.items():
if name == items[0]:
isfind = 1
print("你要查找的联系人是: \n" + items[0] + " " + items[1] )
if isfind == 0:
print(\'\033[1;32m 通讯录中没有你要查找的联系人!!! \033[0m\')
elif int(chois) == 4:
print(\'电话 联系人\')
for items in phone_dic.items():
print(items[0] + \' \'+items[1])
elif int(chois) == 5:
break
else:
print(\'输入非法,请重新输入\')
chois = input(\'请选择你要操作的数字\').strip()