Python 文件保存异常
程序代码:
print("|---欢迎进入通讯录程序---|") print("|---1:查询联系人资料 ---|") print("|---2:插入新的联系人 ---|") print("|---3:删除已有联系人 ---|") print("|---4:查看通讯录信息 ---|") print("|---5:退出通讯录程序 ---|") try: file=open("Data.pyab","a+") dict=eval(file.readline()) except: file=open("Data.pyab","w") dict={} while(1): n=input("请输入相关的指令代码:") if(n=='1'): key=input("请输入联系人姓名:") if key in dict: print(key+":"+dict[key]) else: print("无此联系人!") elif(n=='2'): key=input("请输入联系人姓名:") if(key in dict): print("您输入的姓名在通讯录中已存在"+"-->>"+key+":"+dict[key]) lis=input("是否修改用户资料(yes/no):") if iis=="yes": value=input("请输入用户联系电话:") dict[key]=value else: value=input("请输入联系人电话:") dict[key]=value elif(n=='3'): key=input("请输入联系人姓名:") del dict[key] print("已删除"+key) elif(n=='5'): print("|---感谢使用通讯录程序---|") strdict=str(dict) print(strdict) input("") file.truncate() file.seek(0) file.write(strdict) file.close break
问题:
每次打开程序时,例如输入
小明 110
小红 119
退出程序后,Data.pyab内容:
{"小明":"110","小红":"119"}
没有错误.
但如果再次打开程序,输入
小黄 119
那么退出程序后,Data.pyab的内容就变成了只有
{"小黄":"119"}
之前输入的内容就会不见