了解 Pickle 进行对象序列化:保留 Python 对象
Python 中的 Pickle 提供了一种便捷的机制,可以将 Python 对象序列化为二进制格式进行存储或传输。使用pickle,您可以将复杂的数据结构(包括字典)无缝保存到文件或类似字节的对象中。
字典的序列化
写入新文件并使用 pickle 将字典转储到其中,请按照以下步骤操作:
import pickle a = {'hello': 'world'} with open('filename.pickle', 'wb') as handle: pickle.dump(a, handle, protocol=pickle.HIGHEST_PROTOCOL)
pickle.dump() 方法序列化字典'a' 到二进制文件 'filename.pickle' 中。协议参数指定序列化兼容性级别。
反序列化
从文件中检索序列化字典:
with open('filename.pickle', 'rb') as handle: b = pickle.load(handle)
pickle。 load()方法读取二进制数据并重建原始字典'b'.
超越字典的多功能性
Pickle 不仅限于序列化字典。它可以处理各种Python对象,包括自定义类的实例和复杂的数据结构。例如:
import datetime today = datetime.datetime.now() a = [{'hello': 'world'}, 1, 2.3333, 4, True, "x", ("y", [[["z"], "y"], "x"]), {'today', today}]
限制
虽然pickle用途广泛,但有些对象无法pickle。这包括依赖系统资源的对象,例如打开的文件句柄。
以上是Python的Pickle模块如何序列化和反序列化对象?的详细内容。更多信息请关注PHP中文网其他相关文章!