6 Star 5 Fork 0

Huoty / shelvedb

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

ShelveDB

利用 shelve 模块实现一个简单的基于文件的键值数据库。Python 中的 shelve 模块,可以提供一些简单的数据操作。在 shelve 模块中,key 必须为字符串,而值可以是python 所支持的数据类型。

Example:

shelf['a'] = 'a'
shelf['c'] = [11, 234, 'a']
shelf['t'] = ('1', '2', '3')
shelf['d'] = {'a':'2', 'name':'Hongte' }
shelf['b'] = 'b'
shelf['i'] = 23

注:

由于 shelve 每次 open 会将数据全部载入内存,并且在 close 时将数据写入文件,并释放内存,为了让数据库能够实现同步,本类没有实现迭代器对象的返回。所以,不建议用本类实现的数据库存储大量数据,实际上shelve 本省也不适合存储大量数据。

接口说明

所有 key 参数都必须是字符串类型,否则会有 KeyError 异常.

ShelveDB.save(key, value)

保存数据。如果 key 不存在则存入,否则更新 key 对应的值。因此数据库不存放重复的值。

ShelveDB.delete(key)

删除 key 对应的数据。

ShelveDB.deleteall()

删除所有数据,即清空数据库。

ShelveDB.fetchone(key)

获取一条 key 对应的数据。

ShelveDB.fetchall()

获取数据库所有的数据。

ShelveDB.fetchkeys()

获取所有的键。

ShelveDB.fetchvalues()

获取所有的值。

ShelveDB.has_key(key)

判断数据库中是否存在 key。

兼容问题

本模块能够在 Python2 和 Python3 环境下使用,但是在 Python2 下创建的数据库由于存储协议的不同,在 Python3 中无法打开。这个问题暂时没有解决,但在 Python3 环境下创建的数据库在 Python2 环境下可以正常使用。

空文件

简介

A simple key/value database based on the shelve. 展开 收起
Python
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Python
1
https://gitee.com/konghy/shelvedb.git
git@gitee.com:konghy/shelvedb.git
konghy
shelvedb
shelvedb
master

搜索帮助