序列化与反序列化

文章介绍了Python中的pickle模块用于对象的序列化和反序列化,以及如何将Student对象保存到文件中。同时,文中提到了JSON序列化作为另一种数据存储方式。
摘要由CSDN通过智能技术生成

pickle模块:

import pickle
class Student:
    def __init__(self,name,age,gender):
        self.name=name
        self.age=age
        self.gender=gender
student1=Student("小明",15,"男")
print(pickle.dumps(student1))

b'\x80\x04\x95G\x00\x00\x00\x00\x00\x00\x00\x8c\x08__main__\x94\x8c\x07Student\x94\x93\x94)\x81\x94}\x94(\x8c\x04name\x94\x8c\x06\xe5\xb0\x8f\xe6\x98\x8e\x94\x8c\x03age\x94K\x0f\x8c\x06gender\x94\x8c\x03\xe7\x94\xb7\x94ub.'

import pickle
class Student:
    def __init__(self,name,age,gender):
        self.name=name
        self.age=age
        self.gender=gender
student1=Student("小红",15,"女")
with open("student1.data","wb") as f:
       pickle.dump(student1,f)

生成一个student1.data文件,这个文件包含了代码中student1对象的信息。

import pickle
class Student:
    def __init__(self,name,age,gender):
        self.name=name
        self.age=age
        self.gender=gender
f=open("student1.data","rb")
data=f.read()
student1=pickle.loads(data)
f.close()
print("姓名",student1.name)
print("年龄",student1.age)
print("性别",student1.gender)

姓名 小红
年龄 15
性别 女

可直接从文件对象中读取

​
import pickle
class Student:
    def __init__(self,name,age,gender):
        self.name=name
        self.age=age
        self.gender=gender
with open("student1.data","rb") as f:
student1=pickle.loads(f)
print("姓名",student1.name)
print("年龄",student1.age)
print("性别",student1.gender)

​

姓名 小红
年龄 15
性别 女

JSON序列化与反序列化

import json
student1={
    "name":"小明"
    "age":15,
    "gender":"男"
}
print(json.dumps(student1))

  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值