dbm--python的一个简易K-V数据库

在一些小型简单的python程序中,不需要(不想)引入庞大的关系型数据库或者其他大型的非关系型数据库(NoSql)时,dbm模块是一个非常不错的选择。
不过在使用的时候需要注意的是,它要求key,value均为字符串类型。
可以对其进行一个简单的封装,便于使用。

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
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import dbm
from models.Config.Config import Config

class DBM(object):
def __init__(self):
self._db = dbm.open(Config.parse_config('dbm', 'dbfile'), 'c')

def set(self, key, value):
self._db[key] = str(value)
return self

def del(self, key):
if key in self._db.keys():
del self._db[key]

def get(self, key):
if key in self._db.keys():
return self._db[key]
else:
return None

def __del__(self):
self._db.close()

Config 是自己封装的一个简易的配置文件解析的类,负责从ini文件中读取指定的配置

dbmapi 非常简单,setdelkeys,其数据结构和字典非常相似,可以在小型项目中来当做简易的K/V数据库来使用。

0%