好久没写这系列的文章了,我越来越喜欢用python了,它在我的工作中占据的比例越来越大。废话少说,直接进入主题。
anydbm允许我们将一个磁盘上的文件与一个“dict-like”对象关联起来,操作这个“dict-like”对象,就像操作dict对象一样,最后可以将“dict-like”的数据持久化到文件。对这个"dict-like"对象进行操作的时候,key和value的类型必须是字符串。下面是使用anydbm的例子:
#coding=utf-8
import anydbm
def CreateData():
try:
db = anydbm.open('db.dat', 'c')
# key与value必须是字符串
# db['int'] = 1
# db['float'] = 2.3
db['string'] = "I like python."
db['key'] = 'value'
finally:
db.close()
def LoadData():
db = anydbm.open('db.dat', 'r')
for item in db.items():
print item
db.close()
if __name__ == '__main__':
CreateData()
LoadData()
anydbm.open(filename[, flag[, mode]]),filename是关联的文件路径,可选参数flag可以是: 'r': 只读, 'w': 可读写, 'c': 如果数据文件不存在,就创建,允许读写; 'n': 每次调用open()都重新创建一个空的文件。mode是unix下文件模式,如0666表示允许所有用户读写。
shelve模块是anydbm的增强版,它支持在"dict-like"对象中存储任何可以被pickle序列化的对象,但key也必须是字符串。同样的例子,与shelve来实现:
import shelve
def CreateData():
try:
db = shelve.open('db.dat', 'c')
# key与value必须是字符串
db['int'] = 1
db['float'] = 2.3
db['string'] = "I like python."
db['key'] = 'value'
finally:
db.close()
def LoadData():
db = shelve.open('db.dat', 'r')
for item in db.items():
print item
db.close()
if __name__ == '__main__':
CreateData()
LoadData()
分享到:
相关推荐
第五周-第09章节-Python3.5-内置模块详解之Shelve模块.avi
最后,对于那些对Python shelve模块有更深入了解需求的朋友,可以参考提供的源码链接,该链接指向了一个具体的Python学习项目的代码库,其中包含了一个名为d22_4_shelve_module.py的文件,提供了更多实际操作shelve...
在Python编程语言中,`pickle`和`shelve`是两个非常重要的模块,它们主要用于数据序列化和持久化。这两个模块对于数据存储和恢复、跨程序间的数据传递以及简化复杂对象的保存和读取有着重要作用。 `pickle`模块是...
shelve模块是Python的一个标准库模块,用于实现数据的持久化存储。它允许你将Python中的数据结构,比如字典、列表等,保存在磁盘的文件中,以便程序关闭之后仍然能够访问这些数据。当需要时,可以从文件中读取数据,...
【Python shelve模块详解】 `shelve`是Python标准库中的一个模块,它提供了一种简单的方法来持久化存储Python对象。与`anydbm`类似,`shelve`允许我们将对象保存到磁盘上的文件中,以实现数据的持久化。但是,两者...
当实例不再需要立即运行,但又希望保留其状态时,Shelve操作提供了一种有效的方法。Shelve Instance允许管理员将实例暂时移除,释放宿主机上的资源,同时保持实例的状态以便稍后恢复。在本文中,我们将深入探讨...
Python3的`shelve`模块是一个非常实用的工具,它提供了简单的方法来持久化Python对象。这个模块的主要目的是为了能够方便地保存和加载数据,即使数据类型比较复杂,例如字典、列表或者其他自定义的对象。下面我们将...
- Python内置了多个模块用于数据序列化,如`json`(JSON格式),`pickle`(Python对象格式)和`shelve`(键值对存储)。 5. **轮换文件**: - 轮换文件通常用于日志记录,允许程序在文件达到特定大小时自动创建新...
### Python3内置持久化模块shelve心得 #### 概述 Python 提供了多种方式来实现数据的持久化,其中 `shelve` 模块是一个非常实用的选择,它允许我们像使用字典一样来存储复杂的数据结构,并将其保存到磁盘上以便...
* shelve:shelve模块使用特殊的“shelf”对象来支持持久化对象。这个对象的行为与dict相似,但是所有的他存储的对象都使用基于hashtable的数据库(dbhash,dbm,gdbm)存储在硬盘。与dbm模块的区别是所存储的对象...
python模块详解 各个模块的详解 核心模块 1.1. 介绍 1.2. _ _builtin_ _ 模块 1.3. exceptions 模块 1.4. os 模块 1.5. os.path 模块 1.6. stat 模块 1.7. string 模块 1.8. re 模块 1.9. math 模块 1.10....
Python模块:time、random、os、sys、json、pickle、shelve、XML等
### Python中的anydbm模版和shelve模版使用指南 #### 一、anydbm模版概述 anydbm是Python内置的一个轻量级数据库模块,它提供了一个简单的键值对存储方式,用于基本的数据持久化。anydbm实际上是多个数据库模块...
shelve模版,对应文件StandardLibrary9和databaseShelve,文章:https://blog.csdn.net/yysyangyangyangshan/article/details/85084999
shelfdb是Python生态系统中的一个轻量级数据库接口,它提供了一种简单易用的方式来存储和检索键值对数据,类似于Python的内置shelve模块,但具有更丰富的功能和优化的性能。 shelfdb库的核心概念是提供一个持久化的...
本文实例讲述了Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法。分享给大家供大家参考,具体如下: 1、shelve模块 shelve类似于一个key-value数据库,可以很方便的用来保存...
以上只是Python学习的一些主要知识点,实际学习过程中,还需要结合具体的项目实践和持续的代码调试来提升技能。Python_knowledge-master这个压缩包可能包含了更详细的教程、代码示例和练习,是深入学习Python的好...
- **10.2 anydbm 模块**:该模块提供了一个通用接口来访问DBM数据库。 - **10.3 whichdb 模块**:该模块在Python 3中已被废弃。 - **10.4 shelve 模块**:提供了一个简单的键值存储机制。 - **10.5 dbhash 模块**:...