🍀 前言
博客地址:
👋 简介
dbm(Database Manager)是Python中的一个模块,用于创建和管理简单的键值对数据库。它提供了一种简单而有效的方式来存储和检索数据,特别适用于小型应用程序或需要快速访问数据的场景。
📖 正文
1 dbm的介绍
1.1 方法介绍
open(filename[, flag[, mode]])
:打开或创建一个数据库文件;filename
:文件名flag
:参数可以是'r'
(打开一个存在的文件,默认值)、'w'
(打开文件对其读/写,如果文件不存在,则不会创建它)、'c'
(打开文件对其进行读/写,如果不存在则创建该文件)、'n'
(总是创建一个新的空白文件用于读/写);mode
:参数的 Unix 模式,八进制默认设置为0o666
,仅在创建新数据库时使用;
keys()
:返回数据库中所有的键;values()
:返回数据库中所有的值;get(key, default=None)
:根据键获取对应的值,若不存在则返回None;clear()
:清空数据库;close()
:关闭数据库。
1.2 特点介绍
- 简单易用:dbm 模块提供了一种简单而直观的方式来创建和管理键值对数据库,适用于小型应用程序或需要快速访问数据的场景。
- 多种支持:dbm 模块支持多种不同类型的数据库,如 GNU dbm、Berkeley DB、OpenBSD db、QDBM 等,这使得可以方便地切换和使用不同的数据库。
- 键值存储:通过 dbm 模块,可以使用字符串作为键和值来存储数据,类似于字典的方式。这使得可以快速检索和访问对应的值。
- 灵活的操作方法:dbm 模块提供了一系列灵活且便捷的操作方法,如打开/关闭数据库、获取所有键或值、根据键获取对应的值、更新数据库等,方便进行数据存储和检索操作。
- 跨平台支持:dbm 模块在不同的操作系统上都有良好的支持,因此可以在多个平台上使用。
2 dbm的使用
2.1 数据写入
import dbm
data = {
'sno': '201215001',
'name': '张三',
'age': 20,
'hobby': ['足球', '篮球'],
'学校': 'xx大学'
}
f = dbm.open('student', 'c')
for k, v in data.items():
f[k] = str(v)
f.close()
数据写入成功后,会在同级目录中生成三个文件
2.2 数据读取
数据读取的时候,如果有中文,则需要使用decode()
对字符串进行转码,即可显示正常的中文信息。
import dbm
f = dbm.open('student')
for k in f:
value = f[k].decode()</