99、Python 对象持久化:Pickle 与 Shelve 的应用

Python 对象持久化:Pickle 与 Shelve 的应用

1. Pickle 与对象持久化

Pickle 是 Python 中一个强大的工具,可用于存储和加载各种对象,包括字典、嵌套组合以及类实例。类实例尤其适合用 Pickle 处理,因为它们同时包含数据(属性)和行为(方法),类似于“记录”和“程序”的组合。

通过将对象的 Pickle 字符串存储在文件中,能让对象实现持久化。后续只需加载并解 Pickle,就能重新创建原始对象。这避免了编写额外代码来创建和解析自定义文本文件表示对象的麻烦。

2. Shelve 模块

虽然可以单独使用 Pickle 将对象存储在简单的平面文件中,但 Shelve 模块提供了额外的结构,允许通过键来存储 Pickle 对象。

2.1 Shelve 工作原理

  • Shelve 使用 Pickle 将对象转换为其 Pickle 字符串,并将该字符串存储在 dbm 文件的键下。
  • 加载时,Shelve 通过键获取 Pickle 字符串,并使用 Pickle 在内存中重新创建原始对象。

从脚本角度看,Shelve 就像一个字典,可通过键索引获取对象、赋值存储对象,还能使用字典工具(如 len in dict.keys )获取信息。不过,使用 Shelve 时,需要先打开它,完成更改后再关闭。

2.2 Shelve 优缺点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值