做外贸英语要什么网站,西安市住房和城乡建设局门户网站,宣传推广活动策划,站长工具更多精彩的Python文章请关注微信公众号#xff1a;愤怒的it男 一、简单介绍
Python标准库提供了一个dbm模块。它允许用户使用键值对存储和检索数据#xff0c;工作原理类似于字典#xff0c;但不同之处在于它将数据存储在磁盘上#xff0c;而不是在内存中。这使得它适用于… 更多精彩的Python文章请关注微信公众号愤怒的it男 一、简单介绍
Python标准库提供了一个dbm模块。它允许用户使用键值对存储和检索数据工作原理类似于字典但不同之处在于它将数据存储在磁盘上而不是在内存中。这使得它适用于需要持久化存储数据的情况即使程序关闭后数据仍然会保留。
dbm模块相当于一个微型数据库。当你需要存储的数据关系简单并且需要持久化存储那么强烈推荐使用dbm模块简单又实用。
二、CRUD操作
使用dbm模块非常简单可以在程序中直接导入它然后创建或打开一个数据库文件即可做CRUD创建读取更新删除操作。
1、创建Create
import dbm# 打开一个数据库如果数据库不存在则创建一个新的数据库
with dbm.open(miniDataBase, c) as db:# 创建数据db[chinese_name] 微信公众号愤怒的it男# 创建数据(key不存在时自动写进key存在时则忽略)db.setdefault(english_name, 微信公众号angry_it_man)# 关闭数据库db.close()2、读取Retrieve
import dbmwith dbm.open(miniDataBase, c) as db:db[chinese_name] 微信公众号愤怒的it男db.setdefault(english_name, 微信公众号angry_it_man)# 读取数据如果key不存在则会抛出keyerror异常print(db[chinese_name].decode(utf-8))# 读取数据如果key不存在则会返回None或者第二个参数print(db.get(welcome, 欢迎关注我的微信公众号愤怒的it男))db.close()3、更新Update
import dbmwith dbm.open(miniDataBase, c) as db:db[chinese_name] 微信公众号愤怒的it男db.setdefault(english_name, 微信公众号angry_it_man)# 更新数据db[english_name] WeChat_Account: english_namedb.close()
4、删除Delete
import dbmwith dbm.open(miniDataBase, c) as db:db[chinese_name] 微信公众号愤怒的it男db.setdefault(english_name, 微信公众号angry_it_man)# 删除数据del db[english_name]db.close()5、其他的一些操作
import dbmwith dbm.open(miniDataBase, c) as db:db[chinese_name] 微信公众号愤怒的it男db.setdefault(english_name, 微信公众号angry_it_man)# 判断属于哪种数据库包括dbm.gnu, dbm.ndbm 和 dbm.dumb三种print(dbm.whichdb(miniDataBase))# 判断一个key是否存在key可以是字符串或bytes对象print(chinese_name in db, welcome in db)# 遍历数据库中的所有键值for key in db.keys():print(key.decode(utf-8))# 遍历数据库中的所有键值对for key, value in db.items():print(key.decode(utf-8), value.decode(utf-8))db.close()
三、dbm的特点
总的来说dbm具有如下特点
简单快速非常简单易用读取和写入操作都很快适合存储少量数据。键值对存储数据是以键值对形式存储的你可以像操作Python字典一样。文件存储数据存在具体的文件中可以轻松地备份和转移。不支持复杂查询如果需要执行复杂查询或需要关系型数据库的功能dbm可能不是一个好选择。