首页 > 后端开发 > Python教程 > 如何保存和加载自定义 Python 对象以实现数据持久化?

如何保存和加载自定义 Python 对象以实现数据持久化?

Susan Sarandon
发布: 2024-12-30 00:38:08
原创
438 人浏览过

How Can I Save and Load Custom Python Objects for Data Persistence?

保存 Python 对象以实现数据持久化

问题:

我创建了一个自定义 Python对象并希望保存它以供以后使用。如何实现数据持久化?

使用 Pickle 模块保存对象:

Python 标准库中的 Pickle 模块提供了一种保存数据对象的便捷方法坚持。考虑以下带有自定义对象的示例:

import pickle

class Company:
    def __init__(self, name, value):
        self.name = name
        self.value = value

company1 = Company('banana', 40)
登录后复制

要保存此对象,我们可以使用以下代码:

with open('company_data.pkl', 'wb') as outp:
    pickle.dump(company1, outp, pickle.HIGHEST_PROTOCOL)
登录后复制

这将创建一个包含序列化表示的 pickle 文件company1 对象。

阅读已保存对象:

保存后,可以反序列化该对象并稍后检索:

with open('company_data.pkl', 'rb') as inp:
    company1 = pickle.load(inp)
登录后复制

company1 现在包含原始对象,其名称和值属性完好无损。

额外注意事项:

  • cPickle 与 Pickle:cPickle 是 pickle 的 C 版本,提供改进的性能。如果可用,请使用 import cPickle as pickle。
  • 数据流格式(协议):Pickle 支持不同的数据流格式。为了获得最高兼容性,请使用 pickle.HIGHEST_PROTOCOL (-1)。
  • 保存多个对象:Pickle 可以在单个文件中存储多个对象。使用列表或字典等容器对它们进行分组。

以上是如何保存和加载自定义 Python 对象以实现数据持久化?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板