student.py
class Student(object):
#定义__init__初始化,用于设置学员的属性
def __init__(self,name,age,mobile):
self.name = name
self.age = age
self.mobile = mobile
#定义一个__str方法,用于输出学生姓名
def __str__(self):
return f'学员姓名:{self.name},学员年龄:{self.age},学员的电话:{self.mobile}'
student_manager.py
from student import Student
class StudentManager():
def __init__(self):
self.student_list = []
@staticmethod
def menu():
Menu = """
====================bigdata学生通讯录管理系统-V2.0====================
[1].添加学生信息
[2].删除学生信息
[3].修改学生信息
[4].获取学生信息
[5].保存学生信息
[0].退出系统
=====================================================================
"""
print(Menu)
def run(self):
while True:
self.menu()
u_num = int(input('请输入要操作功能编号:'))
if u_num == 1:
self.add_student()
elif u_num == 2:
self.del_student()
elif u_num == 3:
self.mod_student()
elif u_num == 4:
self.show_student()
elif u_num == 5:
self.save_student()
elif u_num == 0:
print('感谢使用bigdata学生通讯录管理系统')
break
else:
print('你输入的操作错误,请重新输入')
def add_student(self):
while True:
u_num =int(input('请输入要添加的操作:(1:添加学生,2:退出添加)'))
if u_num == 1:
name = input('请输入学生姓名:')
age = int(input('请输入学生年龄:'))
mobile = int(input('请输入学生电话:'))
student = Student(name,age,mobile)
self.student_list.append(student)
print('学生信息添加成功')
elif u_num ==2:
break
menu()
else:
print('操作编号错误,请重新输入')
def del_student(self):
u_name= input('请输入你要删除的学生姓名:')
for i in self.student_list:
if i.name == u_name:
self.student_list.remove(i)
print(f'学员:{u_name}删除成功')
break
else:
print('学生信息不存在')
def mod_student(self):
u_name = input('请输入要修改信息的学生姓名:')
for i in self.student_list:
if i.name == u_name:
i.name = input('请输入修改后学生姓名:')
i.age = int(input('请输入学生后年龄:'))
i.mobile = int(input('请输入学生后电话:'))
print('该学员{i.name}信息修改成功')
else:
print('学生信息不存在')
def show_student(self):
self.load_students()
while True:
u_num = int(input('请输入你要进行的操作:(1:查询单个学生信息,2:查询所有学生信息,3:退出查询)'))
if u_num == 1:
s_name = input('请输入要查询信息的学生姓名:')
for i in self.student_list:
if i.name == s_name:
print(i)
else:
print('学生信息不存在')
elif u_num == 2:
for i in self.student_list:
print(i)
elif u_num == 3:
break
menu()
else:
print('操作编号输入错误,请重新输入')
def save_student(self):
f = open('students.txt','w',encoding='utf-8')
list_ = [i.__dict__ for i in self.student_list]
f.write(str(list_))
f.close
print('成功保存文件')
def load_students(self):
try:
f = open('students.txt','r',encoding='utf-8')
except:
f = open('students.txt','w',encoding='utf-8')
else:
content = f.read()
if len(content) == 0:
content = '[]'
data = eval(content)
self.student_list = [Student(i['name'],i['age'],i['mobile']) for i in data]
print(data)
finally:
f.close()
main.py(程序入口)
from student_manager import StudentManager
if __name__ == '__main__':
studentmanager = StudentManager()
studentmanager.run()