代码好像是正确的,但是运行下去一直报错。
def showMenu():
print("-" * 30)
print(" 学生通讯录管理系统 vl.0")
print("1.添加学生")
print("2.删除学生")
print("3.修改学生")
print("4.查询学生")
print("5.获取所有学生通讯信息")
print("6.保存信息")
print("7.退出系统")
print("-" * 30)
showMenu()
'''
while True:
showMenu()
'''
def getSelcet():
selectNum = int(input("请输入选择的序号:"))
return selectNum
num = getSelcet()
def saveToFile():
f = open("backup. data", "w", encoding="utf-8")
f. write(str(dict))
f. close()
def recoverData():
global dict
f = open("backup. data")
content = f. read()
dict = eval(content)
f. close()
dict = {
"张三": {"性别": "男", "电话": "13787007426"},
"李丽": {"性别": "男", "电话": "13787008916"}
}
def addstuInfo():
name = input("你当前是做添加操作,请输入要添加的名片信息:姓名")
sex = input("请输入要添加的名片信息:性别")
telphone = input("请输入要添加的名片信息:手机号码")
dict[name] = {"性别": sex, "电话": telphone}
print(dict)
if num == 1:
addstuInfo()
def delstuInof():
name = input("你当前是做删除操作,接下来请输入要删除的姓名:")
del dict[name]
print(dict)
if num == 2:
delstuInof()
def modifystuInfo():
name = input("你当前是做修改操作,接下来请输入要修改人的姓名:")
sex = input("请输入修改后的信息:性别")
telphone = input("请输入修改后的信息:手机号码")
dict[name] = {"性别": sex, "电话": telphone}
print(dict)
if num == 3:
modifystuInfo()
def seckstuInfo():
name = input("你当前是做修改操作,接下来请输入要查询人的姓名:")
print(dict[name])
if num == 4:
seckstuInfo()
def showstuInfo():
print("当前的名片有:")
for i in dict. items():
print(i)
if num == 5:
showstuInfo()
def saveToFile():
f = open("backup. data", "w", encoding="UTF-8")
f. write(str(dict))
f. close()
def exitSystem():
print("谢谢使用本系统!")
if num == 7:
exitSystem()
def main():
recoverData()
while True:
showMenu()
num = getSelcet()
if num == 1:
addstuInfo()
elif num == 2:
delstuInof()
elif num == 3:
modifystuInfo()
elif num == 4:
seckstuInfo()
elif num == 5:
showstuInfo()
elif num == 6:
saveToFile()
elif num == 7:
exitSystem()
break
else:
print("你的输入有误,请重新输入")
main()
运行程序,选择添加一个学生信息并保存,退出系统后,打卡“backup.data"文件,发现新增的学生信息已经成功保存到备份文件中。
代码里面backup.data
有空格,建议换成绝对路径,或者把文件和代码放到同一文件目录