Python笔记 之 数据持久化(DBM文件)

DBM文件简介

虽然无格式文件对于简单的数据持久化任务来说很顺手,但是通常适用于顺序化存储模式,仅适用于面向字节和文本行的存储。DBM文件是Python库中数据库管理的标准工具之一,它实现了数据的随机访问可以通过使用Key建来访问存储的文本字符串
DBM是Python中存储信息最简单的方式之一,使用DBM文件和使用内存中的字典数据十分类似,唯一明显的区别是:DBM文件要求键值对都必须是字符串,并且需要打开文件才能访问,做出修改后需要关闭文件。
导入dbm标准库模块后,Python会自动检测系统中已经存在的DBM接口,已固定的顺序尝试打开一个新的DBM文件,同时创建多个外部文件。在导入dbm模块和打开文件后,使用DBM文件的方式和字典类型几乎没有区别
注意
1,使用DBM文件存在系统兼容性隐患(系统自带的DBM接口不同)。
2,DBM文件总是把键和值存储为bytes对象,读取时需要根据需求解码。
3,显示关闭DBM文件可以避免潜在问题。

DBM文件操作

#模块导入
import dbm
#创建或者打开DBM文件
file = dbm.open(‘filename’,‘c’)
#创建或者修改键值对
file[‘key’] = ‘value’
#取建值
value = file[‘key’]
#计数
count = len(file)
#取键列表
index = file.keys()
#取值列表
value = file.values()
#查询
found = ‘key’ in file
#删除键值对
def file[‘key’]
#迭代
for key in file
#关闭
file.close()

简单的例子

#向DBM文件写入数据并读取展示
#键值对必须都是str类型
#通过decode()解码

import dbm

file =dbm.open('./Datas/dbm','c')
name = ('Amy','Timmy')
info = [{'age':17,'sex':'girl'},{'age':16,'sex':'boy'}]
for i in range(len(name)):
    file[name[i]] = str(info[i])
file.close()
student =dbm.open('./Datas/dbm')
for key in student:
    print(key.decode(),'=>',student[key].decode())
student.close()
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值