好友
阅读权限35
听众
最后登录1970-1-1
|
《新手学Python系列笔记》
上一个版本 [url]https://www.52pojie.cn/thread-850764-1-1.html[/url]
坛友 指出没有看到保存信息的代码,这个如果退出程序了,输入的内容,都消失了吧? 在这一个版本中,我们通过pickle这个包来保存我们的通讯录
下一个版本,我计划利用EasyGui这个包将我们的通讯录改写成一个窗口界面
[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(' ')
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|