当前位置: 主页 > Python语言

python 小型数据库-python mp3 库

发布时间:2023-02-08 14:11   浏览次数:次   作者:佚名

python使用dbm持久字典(python微型数据库)详解[python高级教程]

在一些python小应用中,当不需要关系型数据库时,使用持久化字典来存储名/值对会很方便。 它与 python 字典非常相似,主要区别在于数据是在磁盘上读取和写入的。 另一个区别是dbm的keys和values必须是string类型。

1.选择dbm模块

Python 支持许多 dbm 模块,不幸的是每个 dbm 模块创建的文件不兼容。

下表列出了这些模块:

模块描述

dbm 选择最好的 dbm 模块

dbm.dumb 使用 dbm 库的简单但可移植的实现

dbm.gnu 使用 GNU dbm 库

一般来说,除非一个dbm库有特殊的高级功能python 小型数据库,否则使用dbm模块。

2.创建持久字典

import dbm
db = dbm.open("Bookmark", "c")
#添加选项
db["MyBlog"] = "jonathanlife.sinaapp.com"
print(db["MyBlog"])
#保存,关闭
db.close()

open函数有3种打开dbm的方式:

标记用法

C 打开文件进行读写,必要时创建文件

W 以读写方式打开文件,如果文件不存在则不创建

N 打开文件进行读写python 小型数据库,但总是创建一个新的空白文件

还可以传入另外一个代表mode的可选参数,保存了一组UNIX文件权限,这里不再详述。

3.访问持久字典

从 open 函数返回的对象被视为字典对象。 取值方式如下:

db[‘key’] = ‘value’
value = db[‘key’]
#删除值:
del db[‘key’]
#遍历所有key:
for key in db.keys():
   #your code here

代码示例:

import dbm
#open existing file
db = dbm.open("websites", "w")
#add item
db["first_data"] = "Hello world"
   
#verify the previous item remains
if db["first_data"] != None:
    print("the data exists")
else:
    print("Missing item")
  
#iterate over the keys, may be slow
for key in db.keys():
    print("Key=",key," value=",db[key])
  
#delete item
del db["first_data"]
  
#close and save to disk
db.close()