Python学生信息管理:使用pickle模块实现文件存储和读取
使用Python构建学生信息管理模块
本教程将引导您使用Python创建一个简单的学生信息管理模块 student_manager。该模块允许您创建学生对象,并将学生信息保存到文件,以及从文件中加载学生信息。
1. 定义 Student 类
首先,我们需要定义一个名为 Student 的类,用于表示单个学生的信息。每个学生对象将包含以下属性:
student_id: 学号name: 姓名age: 年龄score: 分数
import pickle
class Student:
def __init__(self, student_id, name, age, score):
self.student_id = student_id
self.name = name
self.age = age
self.score = score
2. 定义 save_students() 函数
接下来,我们定义一个函数 save_students(),用于将学生信息列表写入文件。我们将使用 pickle 模块将 Python 对象序列化为字节流,并将其写入文件。
def save_students(students, file_path):
with open(file_path, 'wb') as file:
pickle.dump(students, file)
3. 定义 load_students() 函数
我们还需要定义一个函数 load_students(),用于从文件中读取学生信息。该函数将打开指定的文件,使用 pickle 模块将字节流反序列化为 Python 对象,并返回学生对象列表。
def load_students(file_path):
with open(file_path, 'rb') as file:
students = pickle.load(file)
return students
4. 主程序示例
现在,让我们在主程序中使用上面定义的类和函数来演示如何创建学生对象、保存学生信息到文件以及从文件中加载学生信息。
# 创建学生实例
student1 = Student('001', 'Alice', 18, 90)
student2 = Student('002', 'Bob', 19, 85)
student3 = Student('003', 'Charlie', 20, 95)
# 将学生信息写入文件
students = [student1, student2, student3]
save_students(students, 'students.pkl')
# 从文件中读取学生信息并打印
loaded_students = load_students('students.pkl')
for student in loaded_students:
print(f'学号: {student.student_id}, 姓名: {student.name}, 年龄: {student.age}, 分数: {student.score}')
运行以上代码后,将会在控制台输出以下结果:
学号: 001, 姓名: Alice, 年龄: 18, 分数: 90
学号: 002, 姓名: Bob, 年龄: 19, 分数: 85
学号: 003, 姓名: Charlie, 年龄: 20, 分数: 95
总结
本教程介绍了如何使用Python构建一个简单的学生信息管理模块,并使用 pickle 模块实现学生信息的持久化存储和读取。您可以根据需要扩展此模块,添加更多功能,例如搜索、排序和修改学生信息等。
原文地址: http://www.cveoy.top/t/topic/lQh 著作权归作者所有。请勿转载和采集!