要求定义5个学生对象,数据如下:学生1:("李四", 25, "河南省郑州市"),学生2:("韩梅梅", 19, "焦作市武陟县"),学生3:("李磊", 20, "郑州市中原区"),学生4:("张明", 21, "修武县方庄"),学生5:("吴林", 18, "开封市祥符区")。 请将这5个学生对象数据写入到“d:\\学生信息.txt”文件中,并在程序中反序列化输出5条学生信息。
时间: 2023-07-08 21:48:51 浏览: 23
好的,这里是代码:
```python
import pickle
class Student:
def __init__(self, name, age, address):
self.name = name
self.age = age
self.address = address
# 定义5个学生对象
students = [
Student("李四", 25, "河南省郑州市"),
Student("韩梅梅", 19, "焦作市武陟县"),
Student("李磊", 20, "郑州市中原区"),
Student("张明", 21, "修武县方庄"),
Student("吴林", 18, "开封市祥符区")
]
# 将学生对象写入文件
with open("d:\\学生信息.txt", "wb") as f:
for s in students:
pickle.dump(s, f)
# 从文件中反序列化输出学生信息
with open("d:\\学生信息.txt", "rb") as f:
for i in range(5):
s = pickle.load(f)
print("姓名:{},年龄:{},地址:{}".format(s.name, s.age, s.address))
```
注意,这里使用了 Python 的 pickle 库来进行序列化和反序列化操作。在序列化时,我们使用了一个 for 循环将每个学生对象依次写入文件;在反序列化时,我们同样使用了一个 for 循环,每次读取一个学生对象并输出其信息。