注意点:

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删除学生信息功能相关推荐

  1. C语言软件基础课程设计图书管理系统(删除书籍信息部分)

    一.项目简介 功能描述:基于c语言的单链表知识,实现对图书数据的初始化.插入.删除.查找.遍历. 个人负责任务: 删除图书信息 二.功能架构图 三.个人任务简述 1. 完成的任务与功能: 简单描述将自 ...

  2. python运行时关闭硬件信息-Python实现的读取电脑硬件信息功能示例

    本文实例讲述了Python实现的读取电脑硬件信息功能.分享给大家供大家参考,具体如下: 上学那会,老师让我用java获取电脑硬件信息,CPU, 硬盘,MAC等,那个时候感觉搞了好久...... 今天, ...

  3. python软件电脑配置要求-Python实现的读取电脑硬件信息功能示例

    本文实例讲述了Python实现的读取电脑硬件信息功能.分享给大家供大家参考,具体如下: 上学那会,老师让我用java获取电脑硬件信息,CPU, 硬盘,MAC等,那个时候感觉搞了好久...... 今天, ...

  4. python软件下载对电脑配置要求-Python实现的读取电脑硬件信息功能示例

    本文实例讲述了Python实现的读取电脑硬件信息功能.分享给大家供大家参考,具体如下: 上学那会,老师让我用java获取电脑硬件信息,CPU, 硬盘,MAC等,那个时候感觉搞了好久...... 今天, ...

  5. 实现具备添加、查看、修改以及删除联系人信息功能的手机通讯录。

    实现具备添加.查看.修改以及删除联系人信息功能的手机通讯录. print("--------------手机通讯录-------------") print("--- 1 ...

  6. mysql学生管理系统毕业设计_学生信息管理系统的设计与实现(MyEclipse,MySQL)

    学生信息管理系统的设计与实现(MyEclipse,MySQL)(任务书,开题报告,中期检查表,文献综述,毕业论文15000字,程序代码,MySQL数据库) 学生信息管理系统的开发工具是MyEclips ...

  7. 学生管理程序c语言数组,c语言学生管理系统(c语言学生信息管理系统)

    要求:1记录学生班级姓名,性别,职务住址情况,数据输入数据删除排序查. #include /*引用库函数*/ #include #include #include typedef struct /*定 ...

  8. java学生管理系统代码_java学生信息管理系统(附源码)

    一:   介绍 1:实现登录界面 2:实现主界面 有两种操作 一种是按钮操作  另外一种是SQL语句. 3:连接SQL server 2008 数据库 用到的软件及环境SQLserver2008,ec ...

  9. C#学生管理系统——班级列表(查询功能)

    C#学生管理系统--班级管理的班级列表(查询功能) 上次的年级列表做好了,今天就来做班级管理中的班级列表,与年级列表不同的是,班级列表增加了查询功能,如下图: 界面布局部分: 简单写下,查询这个浅色的 ...

  10. 学生管理系统java mysql_学生信息管理系统 基于Java+mysql开发的学生管理系统 - 下载 - 搜珍网...

    压缩包 : 学生信息管理系统.zip 列表 学生信息管理系统/ 学生信息管理系统/build/ 学生信息管理系统/build.xml 学生信息管理系统/build/built-jar.properti ...

最新文章

  1. Artistic Style在windows下的使用(C/C++)
  2. C# 批处理制作静默安装程序包
  3. java中有scoreframe类型嘛_java构造函数的三种类型总结
  4. 资产放中间,模型策略放两边
  5. 2019程序媛面试之高频题型汇总(二)
  6. 3Ds Max字母键的妙用
  7. 3d max2012 安装加破解
  8. 秒表的检定及设备使用方法说明
  9. mtk最新刷机平台SP_Flash_Tool_v6.2208_Win
  10. Poi-tl通过word模板生成文件页眉页脚冲突问题
  11. c语言简单的图案设计,分形艺术图案设计
  12. P3110 [USACO14DEC]驮运Piggy Back-最短路,spfa
  13. 找了这么多毕业设计题目,反而不知道选什么了
  14. python字典一键多值_python一键多值
  15. Autodesk Alias AutoStudio 2022.1 x64
  16. laravel没有vendor文件夹的解决方法
  17. 澳大利亚3-1逆转日本 狂斩日本,大家来支持一下,打倒日本,爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽
  18. 路由器WAN网口可接入192.168.0.1管理无线密码
  19. [转]北京好吃地点大全 2004年5月版
  20. Origami Studio for Mac原型设计神器安装教程

热门文章

  1. redis源码解析之事件驱动
  2. 反作弊基本概念与机器学习的应用(1)
  3. 聚类-----KMeans
  4. axis1 创建service服务端 , axis1 客户端
  5. 委托和事件的一些理解笔记
  6. IIS经典模式和集成模式的区别
  7. July面试题整理系列(1)
  8. 知识图谱嵌入的应用场景
  9. Python统计磁盘代码文件行数
  10. Python 编写规范