Python实现持久化学生信息管理系统
本文介绍如何使用Python构建一个基础的学生信息管理系统。系统支持添加、删除、修改和查询学生信息,并通过文件读写实现数据的持久化存储,确保程序重启后数据不丢失。
Python实现持久化学生信息管理系统
学生信息管理系统主要用于编辑和实时更新学生的个人资料。接下来,我们将使用Python代码实现一个基础版本的学生信息管理系统。
stuInfo=[]
def main():
while True:
printMenu() #打印菜单
key=int(input('请输入功能对应的数字:'))
if key==1:
addInfo() #添加学生信息
elif key==2:
delInfo() #删除学生信息
elif key==3:
modifystuInfo() #修改学生信息
elif key==4:
showstuInfo() #查看学生所有信息
elif key==5: #退出系统
quitConfirm=input('真的要退出吗?(Yes or No):')
if quitConfirm=='Yes':
break #结束循环
else:
print('输入有误,请重新输入')
#打印功能提示
def printMenu():
print('='*30)
print('学生信息管理系统V1.0')
print('1.添加学生信息')
print('2.删除学生信息')
print('3.修改学生信息')
print('4.显示所有学生信息')
print('5.退出系统')
print('='*30)
#添加学生信息
def addInfo():
newname=input('输入新学生的名字:')
newsex=input('输入新学生的性别:')
newphone=input('输入新学生的号码:')
newInfo={}
newInfo['name']=newname
newInfo['sex']=newsex
newInfo['phone']=newphone
stuInfo.append(newInfo)
#删除学生信息
def delInfo():
delNum=int(input('请输入要删除的序号:'))-1
del stuInfo[delNum]
#修改学生信息
def modifystuInfo():
stuId=int(input('请输入要修改的学生序号:'))-1
newname=input('输入修改后学生的名字:')
newsex=input('输入修改后学生的性别:')
newphone=input('输入修改后学生的号码:')
stuInfo[stuId]['name']=newname
stuInfo[stuId]['sex']=newsex
stuInfo[stuId]['phone']=newphone
#显示所有学生信息
def showstuInfo():
print('='*30)
print('学生信息如下:')
print('='*30)
i=1
for tempInfo in stuInfo:
print('%d %s %s %s'%(i,tempInfo['name'],tempInfo['sex'],tempInfo['phone']))
i+=1
只需调用main()函数即可运行程序。

尽管上述代码能实现基本功能,但每次运行程序时内存中的数据都会被清空。为了更真实地模拟现实中的学生信息管理系统,我们需要在原有代码基础上增加数据存储功能,确保操作后的数据能够被保存。
stuInfo=[]
def main():
recoverData()
while True:
printMenu() #打印菜单
key=int(input('请输入功能对应的数字:'))
if key==1:
addInfo() #添加学生信息
elif key==2:
delInfo() #删除学生信息
elif key==3:
modifystuInfo() #修改学生信息
elif key==4:
showstuInfo() #查看学生所有信息
elif key==5:
saveToFile()
elif key==0: #退出系统
quitConfirm=input('真的要退出吗?(Yes or No):')
if quitConfirm=='Yes':
break #结束循环
else:
print('输入有误,请重新输入')
#打印功能提示
def printMenu():
print('='*30)
print('学生信息管理系统V1.0')
print('1.添加学生信息')
print('2.删除学生信息')
print('3.修改学生信息')
print('4.显示所有学生信息')
print('5.保存数据')
print('0.退出系统')
print('='*30)
#添加学生信息
def addInfo():
newname=input('输入新学生的名字:')
newsex=input('输入新学生的性别:')
newphone=input('输入新学生的号码:')
newInfo={}
newInfo['name']=newname
newInfo['sex']=newsex
newInfo['phone']=newphone
stuInfo.append(newInfo)
#删除学生信息
def delInfo():
delNum=int(input('请输入要删除的序号:'))-1
del stuInfo[delNum]
#修改学生信息
def modifystuInfo():
stuId=int(input('请输入要修改的学生序号:'))-1
newname=input('输入修改后学生的名字:')
newsex=input('输入修改后学生的性别:')
newphone=input('输入修改后学生的号码:')
stuInfo[stuId]['name']=newname
stuInfo[stuId]['sex']=newsex
stuInfo[stuId]['phone']=newphone
#显示所有学生信息
def showstuInfo():
print('='*30)
print('学生信息如下:')
print('='*30)
i=1
for tempInfo in stuInfo:
print('%d %s %s %s'%(i,tempInfo['name'],tempInfo['sex'],tempInfo['phone']))
i+=1
#保存学生信息
def saveToFile():
f=open('backup.data','w')
f.write(str(stuInfo))
f.close()
#恢复数据
def recoverData():
global stuInfo
f=open('backup.data')
content=f.read()
stuInfo=eval(content)
f.close()

从运行结果可以看出,在执行操作4后,系统能够正确显示之前保存的学生信息。
如需更多学习资料,请关注专题《管理系统开发》。
以上就是本文的全部内容,希望能为您的学习提供有益的帮助,同时也欢迎大家继续支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













