python-学生管理系统--3删除学生信息功能
注意点:
1.存储到文件中的学生信息的时候需要使用,str函数,从文件中取出的时候,用eval函数去掉字符串信息,获取字典信息。
2.注意点flag,前面先标记是否删除的数据,后续根据flag的值进行打印是否删除了数据
3.里面的数据的删除的方法---->实质就是没有保存到文件中,所以间接的认为是删除了
4.保存文件的方式:
读取文件中的‘字典信息’,把不需要删除的信息,继续保存在文件中,需要删除的文件,不需要任何操作即可。
# 从控制台录入学生id,到磁盘文件中找到对应的学生信息,删除
def delete():while True:student_id=input('请输入要删除的学生ID:')if student_id!='':if os.path.exists(filename):with open(filename,'r',encoding='utf-8') as file:student_old=file.readlines() #读取文件中的所有学生else:#如果没有存储的文件student_old=[]flag=False #标记是否删除学生if student_old:with open(filename,'w',encoding='utf-8')as wfile:d={} # 临时字典,取出文件中的每个’字典‘作用for item in student_old:d=dict(eval(item)) #将文件中的字符串转换成字典# 输入的编号’student_id‘与遍历的字典中的字典的id进行比较if d['id']!=student_id:wfile.write(str(d)+"\n") #不是要删除的字典项,就是还是保存到文件中,将一条学生信息写入文件else:# 这个相反就是,找到了’d['id']=student_id‘的项,也就是要删除的项flag=True #先做下标记,一会下面统计进行处理if flag:print(f'id为{student_id}的学生信息已经被删除')# 为什么提示信息被删除,也就是d['id']=student_id‘的信息,# 我们没有进行处理,也没有保存到文件中,所以可以间接的说是删除了else:print(f'没有找到id为{student_id}的学生信息')else:print("无学生信息")breakshow() # 删除之后要重新显示所有学生信息,调用个函数。answer=input('是否继续删除?y/n\n')if answer=='y':continueelse:break
python-学生管理系统--3删除学生信息功能相关推荐
- C语言软件基础课程设计图书管理系统(删除书籍信息部分)
一.项目简介 功能描述:基于c语言的单链表知识,实现对图书数据的初始化.插入.删除.查找.遍历. 个人负责任务: 删除图书信息 二.功能架构图 三.个人任务简述 1. 完成的任务与功能: 简单描述将自 ...
- python运行时关闭硬件信息-Python实现的读取电脑硬件信息功能示例
本文实例讲述了Python实现的读取电脑硬件信息功能.分享给大家供大家参考,具体如下: 上学那会,老师让我用java获取电脑硬件信息,CPU, 硬盘,MAC等,那个时候感觉搞了好久...... 今天, ...
- python软件电脑配置要求-Python实现的读取电脑硬件信息功能示例
本文实例讲述了Python实现的读取电脑硬件信息功能.分享给大家供大家参考,具体如下: 上学那会,老师让我用java获取电脑硬件信息,CPU, 硬盘,MAC等,那个时候感觉搞了好久...... 今天, ...
- python软件下载对电脑配置要求-Python实现的读取电脑硬件信息功能示例
本文实例讲述了Python实现的读取电脑硬件信息功能.分享给大家供大家参考,具体如下: 上学那会,老师让我用java获取电脑硬件信息,CPU, 硬盘,MAC等,那个时候感觉搞了好久...... 今天, ...
- 实现具备添加、查看、修改以及删除联系人信息功能的手机通讯录。
实现具备添加.查看.修改以及删除联系人信息功能的手机通讯录. print("--------------手机通讯录-------------") print("--- 1 ...
- mysql学生管理系统毕业设计_学生信息管理系统的设计与实现(MyEclipse,MySQL)
学生信息管理系统的设计与实现(MyEclipse,MySQL)(任务书,开题报告,中期检查表,文献综述,毕业论文15000字,程序代码,MySQL数据库) 学生信息管理系统的开发工具是MyEclips ...
- 学生管理程序c语言数组,c语言学生管理系统(c语言学生信息管理系统)
要求:1记录学生班级姓名,性别,职务住址情况,数据输入数据删除排序查. #include /*引用库函数*/ #include #include #include typedef struct /*定 ...
- java学生管理系统代码_java学生信息管理系统(附源码)
一: 介绍 1:实现登录界面 2:实现主界面 有两种操作 一种是按钮操作 另外一种是SQL语句. 3:连接SQL server 2008 数据库 用到的软件及环境SQLserver2008,ec ...
- C#学生管理系统——班级列表(查询功能)
C#学生管理系统--班级管理的班级列表(查询功能) 上次的年级列表做好了,今天就来做班级管理中的班级列表,与年级列表不同的是,班级列表增加了查询功能,如下图: 界面布局部分: 简单写下,查询这个浅色的 ...
- 学生管理系统java mysql_学生信息管理系统 基于Java+mysql开发的学生管理系统 - 下载 - 搜珍网...
压缩包 : 学生信息管理系统.zip 列表 学生信息管理系统/ 学生信息管理系统/build/ 学生信息管理系统/build.xml 学生信息管理系统/build/built-jar.properti ...
最新文章
- Artistic Style在windows下的使用(C/C++)
- C# 批处理制作静默安装程序包
- java中有scoreframe类型嘛_java构造函数的三种类型总结
- 资产放中间,模型策略放两边
- 2019程序媛面试之高频题型汇总(二)
- 3Ds Max字母键的妙用
- 3d max2012 安装加破解
- 秒表的检定及设备使用方法说明
- mtk最新刷机平台SP_Flash_Tool_v6.2208_Win
- Poi-tl通过word模板生成文件页眉页脚冲突问题
- c语言简单的图案设计,分形艺术图案设计
- P3110 [USACO14DEC]驮运Piggy Back-最短路,spfa
- 找了这么多毕业设计题目,反而不知道选什么了
- python字典一键多值_python一键多值
- Autodesk Alias AutoStudio 2022.1 x64
- laravel没有vendor文件夹的解决方法
- 澳大利亚3-1逆转日本 狂斩日本,大家来支持一下,打倒日本,爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽
- 路由器WAN网口可接入192.168.0.1管理无线密码
- [转]北京好吃地点大全 2004年5月版
- Origami Studio for Mac原型设计神器安装教程