当前位置: 首页 > 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代码,所以不要反序列化不可信来源的数据。

http://www.dtcms.com/a/135912.html

相关文章:

  • 【软件工程大系】净室软件工程
  • 整活 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 排序策略集
  • #Linux内存管理# 为用户进程分配物理内存,分配掩码应该选用GFP_KERNEL,还是GFP_HIGHUSER_MOVABLE呢?
  • 蓝桥杯日期的题型
  • Ubuntu中snap
  • 【LangChain核心组件】Callbacks机制深度剖析与实战指南
  • WPF 使用 DI EF CORE SQLITE
  • H.265硬件视频编码器xk265代码阅读 - 帧内预测
  • K8S微服务部署及模拟故障观测
  • 优化IDEA2024.3大型项目启动慢
  • 网络安全与信息安全防护措施
  • 基于stm32的手机无线充电研究