python在写入文件时的问题?
初学,用python写入文件并保存时,由于文件类型为词典,于是用str()转换后写入文件,但是读取文件时却出现异常,具体情况如下图,图中有具体描述第一张那个图片中的全部程...
初学,用python写入文件并保存时,由于文件类型为词典,于是用str()转换后写入文件,但是读取文件时却出现异常,具体情况如下图,图中有具体描述
第一张那个图片中的全部程序:
stuinfo=[]
apple = str(stuinfo)
#定义函数:
def printMenu():
print("欢迎来到霍格沃兹魔法学院学生信息管理系统 V9.6.3")
print("=" * 30)
print("1、添加学生信息")
print("2、删除学生信息")
print("3、修改学生信息")
print("4、查找学生信息")
print("5、打印学生信息")
print("6、退出系统")
print("7、保存数据")
print("=" * 30)
def save2file():
f = open("studendata.txt","w")
f.write(str(stuinfo))
f.close
print(apple)
def inputMenu():
name = input("请输入要添加学生姓名:")
sex = input("请输入要添加学生性别:")
tel = input("请输入要添加学生电话:")
info["name"] = name
info["sex"] = sex
info["tel"] = tel
stuinfo.append(info)
print("学生信息添加成功!")
#打印提示语
while True:
printMenu()
key=int(input("请输入您要操作的编号:"))
info = {}
#当用户输入1时的操作
if key==1:
inputMenu()
#当用户输入2时的操作
elif key==2:
i=int(input("请输入您要删除学生的序号:"))
del stuinfo[i-1]
#当用户输入3时的操作
elif key==3:
i = int(input("请输入您要修改学生的序号:"))
name = input("请输入修改后学生姓名:")
sex = input("请输入修改后学生性别:")
tel = input("请输入修改后学生电话:")
info["name"] = name
info["sex"] = sex
info["tel"] = tel
stuinfo[i-1]=info
print("学生信息修改成功!")
#当用户输入4时的操作
elif key==4:
print("抱歉!该功能目前未开发")
#当用户输入5时的操作
elif key==5:
print("学生信息如下:")
print("=" * 30)
print("序号 姓名 性别 电话")
i=1
for result in stuinfo:
print 展开
第一张那个图片中的全部程序:
stuinfo=[]
apple = str(stuinfo)
#定义函数:
def printMenu():
print("欢迎来到霍格沃兹魔法学院学生信息管理系统 V9.6.3")
print("=" * 30)
print("1、添加学生信息")
print("2、删除学生信息")
print("3、修改学生信息")
print("4、查找学生信息")
print("5、打印学生信息")
print("6、退出系统")
print("7、保存数据")
print("=" * 30)
def save2file():
f = open("studendata.txt","w")
f.write(str(stuinfo))
f.close
print(apple)
def inputMenu():
name = input("请输入要添加学生姓名:")
sex = input("请输入要添加学生性别:")
tel = input("请输入要添加学生电话:")
info["name"] = name
info["sex"] = sex
info["tel"] = tel
stuinfo.append(info)
print("学生信息添加成功!")
#打印提示语
while True:
printMenu()
key=int(input("请输入您要操作的编号:"))
info = {}
#当用户输入1时的操作
if key==1:
inputMenu()
#当用户输入2时的操作
elif key==2:
i=int(input("请输入您要删除学生的序号:"))
del stuinfo[i-1]
#当用户输入3时的操作
elif key==3:
i = int(input("请输入您要修改学生的序号:"))
name = input("请输入修改后学生姓名:")
sex = input("请输入修改后学生性别:")
tel = input("请输入修改后学生电话:")
info["name"] = name
info["sex"] = sex
info["tel"] = tel
stuinfo[i-1]=info
print("学生信息修改成功!")
#当用户输入4时的操作
elif key==4:
print("抱歉!该功能目前未开发")
#当用户输入5时的操作
elif key==5:
print("学生信息如下:")
print("=" * 30)
print("序号 姓名 性别 电话")
i=1
for result in stuinfo:
print 展开
3个回答
展开全部
建议直接用pickle库来实现存取
如果你非要用str来写文件,那建议读文件的时候要用eval转换一下
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2020-08-03 · 知道合伙人软件行家
关注
展开全部
你发的代码不全吗?
你只写了保存文件的函数,没有调用
也没有文件读取的操作
你只写了保存文件的函数,没有调用
也没有文件读取的操作
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询