• python之文件操作实现学生管理系统


    博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏。


    一、背景

      Python 是一门易于学习、功能强大的编程语言。它提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 优雅的语法和动态类型以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。下面我们来介绍一下python的文件操作实现学生管理系统相关知识。


    二、学生管理系统

      增加保存学生信息到文件的功能和从文件中读取学生信息到程序的功能。
    (1)在显示菜单列表的函数中,增加“保存数据”和“恢复数据”选项。
    (2)增加函数,用于将学生数据保存到文件中,write()方法的参数必须是字符串类型,因此,需要将字典类型的数据强制转换为字符串后进行写入。
    (3)增加函数,用于从文件中读取数据到变量,从文件中读取到的内容是字符串,我们需要将这些带有特定格式的字符串转换为其原来的类型,可调用eval()函数将字符串转换为字典。
    (4)在main函数中增加输入选项。

    1、添加一个学生信息

    def addStuInfo():
        newNum = input("请输入新学生的学号:")	#提示并获取学生的学号
        newName = input("请输入新学生的姓名:")	#提示并获取学生的姓名
        newSex = input("请输入新学生的性别(男/女):")#提示并获取学生的性别
        newInfo = {}				#定义字典
        #赋值
        newInfo['num'] = newNum
        newInfo['name'] = newName
        newInfo['sex'] = newSex
        stuInfos.append(newInfo)			#将元素添加到列表中
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    2、获取文件操作菜单

    stuInfos=[]		
    def printMenu():		
        print("="*20)
        print(" 学生管理系统V2.0 ")
        print("1.添加学生信息")
        print("2.删除学生信息")
        print("3.显示所有学生信息")
        print("4.保存数据")
        print("5.恢复数据")
        print("0.退出系统")
        print("="*20)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    3、删除一个学生信息

    def delStuInfo(student):
        del_num = input("请输入要删除的学生的学号:")
        for stu in student:
            if stu['num'] == del_num:
                student.remove(stu)	
    
    • 1
    • 2
    • 3
    • 4
    • 5

    4、显示所有学生信息

    def showStuInfo():
        print("=" * 20)
        print("学生的信息如下:")
        print("=" * 20)
        print("序号    学号    姓名   性别")
        i = 1
        #遍历存储学生信息的列表,输出每个学生的详细信息
        for tempInfo in stuInfos:
            print("%d      %s      %s     %s" % (i, tempInfo['num'],tempInfo['name'], tempInfo['sex']))
            i += 1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    5、保存到文件

    def save_file():
        with open('student.txt','w') as file:
            file.write(str(stuInfos))			
    #恢复数据
    def recover_data():
        global stuInfos
        with open('student.txt','r') as file:
            content = file.read()
            stuInfos = eval(content)		
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    6、main函数控制整个程序的流程

    def main():
        while True:
            printMenu()						#打印功能菜单
            key = input("请输入功能对应的数字")#获取用户输入
            if key == '1':						#添加学生信息
                addStuInfo()
            elif key == '2':					#删除学生信息
                delStuInfo(stuInfos) 
            elif key == '3':					#显示学生信息
                showStuInfo()
            elif key == '4':
                save_file()
            elif key == '5':
                recover_data()
            elif key == '0':					#退出循环
                quit_con = input("确定退出吗?(Yes or No):")
                if quit_con == 'Yes':
                    break
    main()							#调用main函数
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    注意:str()和eval()函数都是Python内置函数,其中str()函数的作用是将对象转换为字符串,eval()函数用于执行一个字符串表达式,并返回表达式的值。


    三、参考

    1、廖雪峰的官网
    2、python官网
    3、Python编程案例教程


    四、总结

      以上就是就是关于Python的文件操作实现学生管理系统相关知识,可以参考一下,觉得不错的话,欢迎点赞、收藏、在看,欢迎微信搜索关注java基础笔记,后面会不断更新相关知识,大家一起进步。

  • 相关阅读:
    npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。
    Linux内核移植之网络驱动更改说明一
    “优化STM32单片机处理大量网络数据的方法“
    VUE局部修改ElementUI样式
    【优化调度】基于matlab帝国企鹅算法求解航空调度优化问题【含Matlab源码 YXS001期】
    【整数规划】
    第三届VECCTF-2023 Web方向部分wp
    【unity小技巧】适用于任何 2d 游戏的钥匙门系统和buff系统——UnityEvent的使用
    【云原生 · Kubernetes】kubeadm创建集群
    0 我所理解的计算机视觉
  • 原文地址:https://blog.csdn.net/jiankang66/article/details/125982005