介绍
数据持久化,就是把数据从内存刷到磁盘上。但是要保证在读取的时候还能恢复到原来的状态。像pickle和json之类的持久化模块基本上无需介绍了,这里介绍两个其他很少用但是功能很强大的模块。
dbm
python
'''
在一些小型程序中,不需要关系型数据库时,可以方便的用持久字典来存储键值对,和python中的字典非常类似。而且dbm的键和值都必须是str或者bytes类型
'''
import dbm
'''
这里第一个参数直接传入文件名,第二个参数表示模式
常见的模式:
r:可读,默认就是这个模式
w:可读可写
但是r、w,都必须确保文件已经存在,否则报错。
c:可读可写,文件不存在时会创建
n:可读可写,但总是会创建一个新的文件,也就是说如果创建同名文件,那么之前的内容都会被清空,也就是起不到追加的效果。
因此我们平常的模式一般都会选择c
第三个参数是权限,这个在windows下基本不用,是一组用八进制表示的数字,默认是0o666,都是可读可写不可执行
'''
db = dbm.open("store", "c")
会多出来这三个文件
shelve
python
'''
shelve和dbm比较类似,但是功能远比dbm强大,因为它可以持久化任意对象
'''
import shelve
python
python
import shelve
sh = shelve.open("shelve")
sh["list"] = [1, 2, 3] sh["str"] = "mashiro" sh.close()
同样也会多出来三个文件
转载于:https://www.cnblogs.com/valorchang/p/11395406.html
相关资源:JAVA上百实例源码以及开源项目