Python3中shelve对象如何实现数据持久化存储原理分析?

2026-05-26 21:281阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计808个文字,预计阅读时间需要4分钟。

Python3中shelve对象如何实现数据持久化存储原理分析?

shelve模块提供了一种简单的对象持久化方法,无需数据库即可存储Python对象。类似字典,shelve通过键访问数据。值将被pickle并写入由dbm创建和管理的数据库中。

1.shelve对象的持久存储

不需要关系数据库时,可以用shelve模块作为持久存储Python对象的一个简单的选择。类似于字典,shelf按键访问。值将被pickled并写至由dbm创建和管理的数据库。

1.1 创建一个新shelf

使用shelve最简单的方法就是利用DbfilenameShelf类。它使用dbm存储数据。这个类可以直接使用,也可以通过调用shelve.open()来使用。

import shelve with shelve.open('test_shelf.db') as s: s['key1'] = { 'int': 10, 'float': 9.5, 'string': 'Sample data', }

再次访问这个数据,可以打开shelf,并像字典一样使用它。

import shelve with shelve.open('test_shelf.db') as s: existing = s['key1'] print(existing)

运行这两个示例脚本会生成以下输出。

dbm模块不支持多个应用同时写同一个数据库,不过它支持并发的只读客户。如果一个客户没有修改shelf,则可以通过传入flag='r'来告诉shelve以只读方式打开数据库。

阅读全文

本文共计808个文字,预计阅读时间需要4分钟。

Python3中shelve对象如何实现数据持久化存储原理分析?

shelve模块提供了一种简单的对象持久化方法,无需数据库即可存储Python对象。类似字典,shelve通过键访问数据。值将被pickle并写入由dbm创建和管理的数据库中。

1.shelve对象的持久存储

不需要关系数据库时,可以用shelve模块作为持久存储Python对象的一个简单的选择。类似于字典,shelf按键访问。值将被pickled并写至由dbm创建和管理的数据库。

1.1 创建一个新shelf

使用shelve最简单的方法就是利用DbfilenameShelf类。它使用dbm存储数据。这个类可以直接使用,也可以通过调用shelve.open()来使用。

import shelve with shelve.open('test_shelf.db') as s: s['key1'] = { 'int': 10, 'float': 9.5, 'string': 'Sample data', }

再次访问这个数据,可以打开shelf,并像字典一样使用它。

import shelve with shelve.open('test_shelf.db') as s: existing = s['key1'] print(existing)

运行这两个示例脚本会生成以下输出。

dbm模块不支持多个应用同时写同一个数据库,不过它支持并发的只读客户。如果一个客户没有修改shelf,则可以通过传入flag='r'来告诉shelve以只读方式打开数据库。

阅读全文