python通讯录运用的知识点_【Python】【笔记】(知识点:利用pickle模板保存本地不丢失)制作一个简易的通讯录...

[Python] 纯文本查看 复制代码#请使用python3 以上版本打开

[/size][size=5]#需要安装 pickle 和 os 这两个包哦

import pickle,os

save_name = 'address_list.pcl' #通讯录存储的文件名称

save_dir = r'C:' #存储的文件位置

os.chdir(save_dir)

if save_name in os.listdir(save_dir): #判断之前是否保存过

with open(save_name, mode='rb') as address_file:

address_list = pickle.load(address_file)

else:

address_list = dict()

def save_file(unsaved_list):

with open(save_name , mode='wb') as unsaved_file:

pickle.dump(unsaved_list,unsaved_file)

print('|--- 欢迎进入通讯录程序 ---|')

print('|--- 1:查询联系人资料 ---|')

print('|--- 2:插入新的联系人 ---|')

print('|--- 3:删除已有联系人 ---|')

print('|--- 4:打印全部通讯录 ---|')

print('|--- 5:退出通讯录程序 ---|')

print(' ')

def add_adress_list(new_name):

if new_name in address_list:

print('您输入的姓名在通讯录已存在 -->>' , new_name + ':' + address_list[new_name])

y_n = input('是否需要修改用户的联系方式(y or n) :')

if y_n == 'y':

new_phone = input("请输入新的联系方式")

address_list[new_name] = new_phone

print('修改联系人成功')

print(' ')

save_file(address_list)

else:

new_phone = input("请输入用户联系方式")

address_list[new_name] = new_phone

print('添加联系方式成功-->>' , new_name + ':' + address_list[new_name])

print(' ')

save_file(address_list)

def find_adress_list(name):

if not(name in address_list):

print('没有查询到该联系人')

print(' ')

else:

print(name + ':' + address_list[name])

print(' ')

def del_adress_list(name):

if not(name in address_list):

print('没有查询到该联系人')

print(' ')

else:

del address_list[name]

print('删除成功')

print(' ')

save_file(address_list)

while True:

print(' ')

cho = input('请输入相关的指令代码:')

if cho == '1':

if len(address_list) == 0:

print('您的通讯录没有任何联系人哦')

else:

name = input('请输入要查找的联系人姓名:')

find_adress_list(name)

print(' ')

elif cho == '2':

name = input('请输入要添加的联系人姓名:')

add_adress_list(name)

print(' ')

elif cho == '3':

if len(address_list) == 0:

print('您的通讯录还没有存储任何联系人哦')

else:

name = input('请输入要删除的联系人姓名:')

del_adress_list(name)

print(' ')

elif cho == '4':

if len(address_list) == 0:

print('您的通讯录还没有存储任何联系人哦')

else:

for i in address_list:

print(i + ': ' + address_list[i])

print(' ')

elif cho == '5':

print(' ')

print('-----感谢使用通信录程序----')

break

else:

print('您的输入有误,请重新输入')

print(' ')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值