DBM(DataBase Manager)是一种文件系统,专门用于键值对的存储,最初是在Unix平台实现,现在其它平台也可以用。对于KV模型,DBM 提供了一个轻量级、高效的存储解决方案。
总的来说,DBM具有如下特点:
- 简单快速:非常简单易用,读取和写入操作都很快,适合存储少量数据。
- 键值对存储:数据是以键值对形式存储的,你可以像操作 Python 字典一样。
- 文件存储:数据存在具体的文件中,可以轻松地备份和转移。
- 不支持复杂查询:如果需要执行复杂查询或需要关系型数据库的功能,DBM可能不是一个好选择。
Python标准库提供了一个dbm模块,它实现了DBM文件系统的功能。
(1)写入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| import dbm
db = dbm.open("store", "c")
db["name"] = "小明" db["age"] = "18" db[b"corporation"] = "A公司".encode("utf-8")
db.close()
|
(2)读取
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| import dbm
db = dbm.open("store", "c")
print(db.keys()) """ [b'corporation', b'name', b'age'] """
print("name" in db, "NAME" in db) """ True False """
print(db["name"].decode("utf-8")) print(db[b"corporation"].decode("utf-8")) """ 小明 A公司 """
print(db.get("NAME", b"unknown")) """ b'unknown' """
print(db.setdefault("gender", b"female")) """ b'female' """ print(db["gender"]) """ b'female' """
|