Python对象持久化

一、对象持久化
对象持久化:如果要将当前在内存中计算的数据结果或者状态永久存储起,就要用到对象的持久化。
在这里插入图片描述
文件的扁平化
eval() 函数用来执行一个字符串表达式,并返回表达式的值。

scores=[33,88,99]

def write_data():
    with open('data.txt','w',encoding='utf8') as f:
        f.write(str(scores))
        print('写入文件')
def read_data():
    with open('data.txt','r',encoding='utf8') as f:
        lst=eval(f.read())    
        print(lst)

write_data()
read_data()

pickele方法

import pickle
person = {'name':'Tom','age':20}
s=pickle.dumps(person)  #序列化对象成二进制写入 data.db文件中
print(s)
str=pickle.loads(s)             #从字符串还原序列化对象
print(str)

运行结果:

b'\x80\x03}q\x00(X\x04\x00\x00\x00nameq\x01X\x03\x00\x00\x00Tomq\x02X\x03\x00\x00\x00ageq\x03K\x14u.'
{'name': 'Tom', 'age': 20}

Process finished with exit code 0
import shelve

scores=[1,2,3]
student={'name':'Tom','age':20}
db=shelve.open('data_s')  #创建数据库文件
db['s']=scores            #往数据库里赋值
db['student']=student

str1=db['s']               #读取
str2=db['student']
print(str1,str2)

运行结果:

[1, 2, 3] {'name': 'Tom', 'age': 20}

Process finished with exit code 0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值