📅  最后修改于: 2023-12-03 15:23:15.924000             🧑  作者: Mango
Python中的pickle模块提供了一种简单的方法,可以将任意Python对象(包括自定义对象)转储到文件中,并在需要时还原为原始Python对象。
pickle模块中主要有两个函数:dumps和dump,用于将Python对象转储到字符串或文件中,以便稍后从其生成原始Python对象。以下是保存字典到文件的示例代码:
import pickle
# 待保存的字典
person = {"name": "Alice", "age": 30, "city": "New York"}
# 保存到文件中
with open("person.pkl", "wb") as f:
pickle.dump(person, f)
这里我们先定义了一个字典,接着用 with 语句打开文件 person.pkl,'wb'表示写二进制文件,这对于pickle模块保存对象至关重要。然后使用 dump 函数将 dict 对象转储到文件中。
大功告成,现在我们已经将字典保存到了 person.pkl 文件中,可以用以下代码从文件中加载字典:
import pickle
# 从文件中加载字典
with open("person.pkl", "rb") as f:
person = pickle.load(f)
print(person) # {'name': 'Alice', 'age': 30, 'city': 'New York'}
其中rb表示读取二进制文件,将文件中保存的字典加载到 person 对象中,最后打印它们,以确保数据正确。
除了字典,pickle模块可以保存任何Python对象,从简单的类型(例如字符串、数字、列表、元组和集合等)到自定义类、函数和模块等。但需要注意的是,pickle模块不能很好地处理动态加载的代码和对象,而且保存时,应该尽量避免保存敏感数据。