首页 / 知识
python对象持久化的方法
2023-11-12 12:53:00
python对象持久化的方法
1、说明
pickle:任意python对象和字节串之间的序列化
dbm:实现一个可通过键访问的文件系统,以存储字符串
shelve:使用上述两个模块把python对象存储到一个文件中,即按键存储pickle处理后的对象并存储在dbm的文件中
2、实例
##pickle
##将对象序列化到文件
f1=open("pickle.db","wb+")
pickle.dump(p1,f1)##这里不能一步到位,即open("pickle.db","wb+"),会导致pickle在读取的时候抛出EOFError:Ranoutofinput
f1.close()
##将对象序列化为字符串
string=pickle.dumps(p1)
##从文件读取
f=open("pickle.db","rb")
p=pickle.load(f)
##从字符串读取
p_obj=pickle.loads(string)
##dbm
##存储
db=dbm.open("dbm","c")
db[k1]=v1
db.close()
##读取
db=dbm.open("dbm","c")
forkeyindb.keys():
print("key[%s]--%s"%(key,db[key]))
##shelve
importshelve
db=shelve.open("persondb")
##filename
forobjectin[p1,p2]:
db[object.name]=objectdb.close()
##必须关闭
##从db文件中读取
db=shelve.open("persondb")##db拥有和字典相同的方法,区别在于shelve需要打开和关闭操作
forkeyindb.keys():
print("fromdb[%s]"%db[key])
以上就是python对象持久化的方法,希望对大家有所帮助。更多Python学习教程请关注我们
最新内容
相关内容
python如何比较两个字符串是否相等
python如何比较两个字符串是否相等,培训,工作,字符串,两个,下面,以上,方法,更多,内容,python在实际的开发工作中,经常会遇到要判定两个字符串python如何确定是否为可迭代对象
python如何确定是否为可迭代对象,培训,元素,索引,对象,整数,字典,函数,类型,下标,模块,迭代可以理解为,任意的集合使用for循环遍历python中,迭python怎么调用类方法
python怎么调用类方法,培训,方法,实例,静态,定义,参数,属性,对象,关键字,以上,python中的类用来描述具有相同的属性和方法的对象的集合。它定python判断元素是否是字符串类型
python判断元素是否是字符串类型,培训,异常,类型,实例,字符串,数据类型,对象,元素,参数,序列,isinstance()是Python中的一个内建函数语法:isinpython判断字符串是否包含中文
python判断字符串是否包含中文,培训,检测,代码,字符串,中文,字符,范围,空格,原理,以上,原理:中文字符的编码范围是:\u4e00-\u9fff只要编码在python如何确定文件是否存在
python如何确定文件是否存在,检测,培训,名字,异常,文件,模块,文件夹,语句,操作,方法,python中的os模块os模块中的os.path.exists(path)可以检python怎么读文件最后几行
python怎么读文件最后几行,培训,代码,情况,异常,时间,位置,文件,指针,需求,开销,处理文件时,一个常见的需求就是读取文件的最后一行。那么这个python判断一个字符串是否包含另一
python判断一个字符串是否包含另一个字符串,培训,字符串,以上,方法,更多,内容,python判断一个字符串是否包含另一个字符串,常用的有两种方python判断两个字典是否相同
python判断两个字典是否相同,培训,字典,两个,相同点,做法,下面,之前,以上,解决方案,内部,python自带的数据结构dict非常好用,之前不知道怎么比python判断字符串是否为小数的方法
python判断字符串是否为小数的方法,培训,代码,合法,小数点,小数,整数,字符串,方法,右边,左边,python想判断一个字符串是不是一个合法的小数,但python如何执行python文件
python如何执行python文件,代码,培训,文件,程序,命令,模式,事半功倍,后缀,文本,以上,用文本编辑器写Python程序,然后保存为后缀为.py的文件,就python可以继承父类方法吗
python可以继承父类方法吗,培训,代码,名字,方法,动物,属性,编译器,这样的话,定义,里面,python继承,调用父类属性方法在python里面,继承一个类