学生信息系统(json模块解决数据持久化)
2019-04-30 23:43:03来源:博客园 阅读 ()
将学生管理的案例,学生信息由原来的只有姓名,拓展为包含,姓名,年龄,两个属性;完成对应的增、删、查、改,操作
import json,os,time,sys student_list = [] File_path = 'name.txt' #从文件中读取之前存储的数据(考虑是否有对应文件的问题,要做文件是否存在的判断),然后将读取到的数据存储到列表 def dataRead(filepath): # 判断filepath这个路径对应的文件是否存在: if os.path.exists(filepath): print('找到提取文件') f1 = open(filepath,'r',encoding='utf-8') global student_list student_list = json.load(f1) print('学生信息',student_list) f1.close() print('读取数据成功') else: print('文件不存在') def addStudent(): name = input('请输入学生姓名:') age = int(input('请输入学生年龄:')) stu_dict = { 'name':name, 'age':age } student_list.append(stu_dict) print('学生信息添加成功,1秒后自动返回主菜单\n\n\n') time.sleep(1) def delStudent(): name = input('请输入要删除的学生姓名:') for stu in student_list: if name == stu['name']: student_list.remove(stu) print('删除成功') else: print('该学生信息不存在') def updateStudent(): name = input("请输入要修改的学生姓名:") for stu in student_list: if name == stu['name']: new_name = input("请输入修改后的姓名:") new_age = eval(input("请输入修改后的年龄:")) stu['name'] = new_name stu['age'] = new_age print('修改成功') break else: print('该学生信息不存在') # name = input('请输入要修改的学生姓名:') # age = int(input('请输入修改学生的年龄:')) # new_dict = {'name':name,'age':age} # if new_dict in student_list : # index = student_list.index(new_dict) # # new_name = input('请输入修改后的学生姓名:') # new_age = int(input('请输入修改后的学生年龄:')) # # # student_list[index]['name'] = new_name # student_list[index]['age'] = new_age # print('修改成功') # else: # # print('该学生信息不存在') def queryStudent(): name = input('请输入要查询的学生姓名:') for stu in student_list: if name == stu['name']: print('学生信息:',stu) break else: print('该学生信息不存在') def showAll(): print('所有学生信息如下:') for stu in student_list: print('姓名:{},年龄:{}'.format(stu.get('name'),stu.get('age'))) def systemExit(): dataWrite(File_path) print('谢谢使用') sys.exit() #将列表中的数据写入文件 def dataWrite(filepath): f = open(filepath,'w',encoding='utf-8') json.dump(student_list,f) f.close() print('数据写入成功') #从文件中加载数据 dataRead(File_path) while True: print('1.添加学生') print('2.删除学生') print('3.修改学生') print('4.查询学生') print('5.展示所有') print('6.退出系统') num = input('请输入1-6的数字进入相应功能:') print('------'*6) if num == '1': addStudent() elif num == '2': delStudent() elif num == '3': updateStudent() elif num == '4': queryStudent() elif num == '5': showAll() elif num == '6': systemExit() else: print('输入有误')
原文链接:https://www.cnblogs.com/ilovepython/p/10794890.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:Flask数据库
- Django和前端用ajax传输json等数据 2019-08-13
- python 基础学习笔记(1) 2019-07-24
- python批量json文件转xml文件脚本(附代码) 2019-07-24
- day23(XML,面向对象基础) 2019-05-17
- day19(random,json,pickle,hashlib,shutil,hmac,shel 2019-05-10
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash