当前位置: 首页 > news >正文

序列化 反序列化实例

在Python中, pickle 模块常用于实现对象的序列化和反序列化,以下是一个简单的实例:

 

import pickle

 

# 定义一个类

class Person:

    def __init__(self, name, age):

        self.name = name

        self.age = age

 

# 创建一个Person对象

person = Person("Alice", 30)

 

# 序列化对象

with open('person.pkl', 'wb') as file:

    pickle.dump(person, file)

 

# 反序列化对象

with open('person.pkl', 'rb') as file:

    deserialized_person = pickle.load(file)

 

print(f"反序列化后的对象:名字是 {deserialized_person.name},年龄是 {deserialized_person.age}")

 

 

在上述代码中:

 

1. 首先定义了一个 Person 类,包含 name 和 age 两个属性。

2. 创建了一个 Person 类的实例 person 。

3. 使用 pickle.dump() 方法将 person 对象序列化,并保存到 person.pkl 文件中。 pickle.dump() 方法接受两个参数,第一个是要序列化的对象,第二个是文件对象,这里使用 'wb' 模式以二进制写入方式打开文件。

4. 然后使用 pickle.load() 方法从 person.pkl 文件中读取数据并反序列化,得到 deserialized_person 对象,最后打印出反序列化后对象的属性值。

 

请注意, pickle 模块反序列化时可能存在安全风险,因为它会执行文件中的Python代码,所以不要反序列化不可信来源的数据。

相关文章:

  • 【软件工程大系】净室软件工程
  • 整活 kotlin + springboot3 + sqlite 配置一个 SQLiteCache
  • 【Spring】DI(依赖注入)详解:属性注入@Autowired(超详细)、构造方法注入、Setter注入
  • 《JVM考古现场(二十一):奇点黎明·在事件视界编译时空曲率》
  • 智能语音识别+1.2用SAPI实现文本转语音(100%教会)
  • 科技项目验收测试报告有哪些作用?需要多长时间和费用?
  • Shell编程之正则表达式与文本处理器
  • AI 对话高效输入指令攻略(一):了解AI对话指令
  • 解决靶机分配的 IP 地址与 Kali 机器静态 IP 地址冲突的方法
  • Langchain Agent封装的工具
  • Unity导出微信小游戏后无法调起移动端输入框
  • window 凭据管理器密码破解
  • 信息科技伦理与道德0:课程安排
  • 如何实现“一机两用” 寻求安全与效率的完美平衡
  • 从 SolarWinds 事件看 CCRC 认证的供应链安全价值
  • 盈达科技GEO技术体系全景解密:AIM³ Pro × AICC × GEO-BENCH Pro构建认知主权堡垒​
  • 15、stack、queue、deque的模拟实现
  • windows使用docker-desktop安装milvus和可视化工具attu
  • TA学习之路——2.2 模型与材质基础
  • 冒泡与 qsort 排序策略集
  • 网站设计的优缺点/测试自己适不适合做销售
  • 鹤岗手机网站建设/seo引擎优化教程
  • 网站设置域名/网站推广的技巧
  • 中国做网站最好的企业/青岛官网seo
  • 建筑焊工证查询网站官方网/网络服务器多少钱一台
  • 做舞台灯光的在哪些网站接订单呢/营销平台建设