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()