📅  最后修改于: 2023-12-03 15:18:35.853000             🧑  作者: Mango
在Python中,我们可以使用pickle模块将对象序列化为二进制文件,也可以将二进制文件反序列化为Python对象。
本文将介绍如何使用pickle保存多个Python对象至一个二进制文件中。首先我们需要定义多个Python对象,示例代码如下:
import pickle
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
person_1 = Person('Alice', 20)
person_2 = Person('Bob', 18)
person_3 = Person('Charlie', 22)
people_list = [person_1, person_2, person_3]
定义完Python对象后,我们可以使用下面的代码将这些对象保存至一个二进制文件中:
with open('people.pkl', 'wb') as f:
pickle.dump(people_list, f)
在上面的代码中,我们使用pickle.dump
将people_list
对象写入名为people.pkl
的二进制文件中,其中'wb'
表示以二进制写入模式打开文件,可以将多个对象放进people_list
中,来实现同时保存多个对象至同一文件中。
要读取保存的二进制文件并还原对象,我们可以使用以下代码:
with open('people.pkl', 'rb') as f:
people_list = pickle.load(f)
for person in people_list:
print(person.name, person.age)
以上代码将重新打开people.pkl
文件并反序列化为一个Python对象列表people_list
,最后输出每个人的姓名和年龄。
至此,我们就成功地保存了多个Python对象至一个二进制文件中。
本文介绍了如何使用pickle保存多个对象至同一文件,这在实际项目中能够提高代码的效率,同时也为我们不能直接进行保存的数据类型提供了一种方便的存储方式。