pickle模块
1.计算机基础2.编程语言和Python语言介绍3.八大基本数据类型4.python语法入门变量和常量5.python和pycharm相关补充6.计算机五大部件补充7.文件操作8.编码和解码9.字符编码10.基本数据类型的内置方法11.循坏结构12.流程控制13.基本运算符14.程序与用户交互15.迭代器16.闭包函数17.装饰器18.多层语法糖嵌套19.函数的参数20.函数的可变长参数21.命名关键字参数22.名称空间与作用域23.异常处理24.深浅拷贝问题25.函数的定义和调用26.控制文件读写内容的模式27.主动控制文件内指针移动28.文件的操作方法29.垃圾回收机制GC30.可变与不可变类型31.元类32.内置方法
33.pickle模块
34.单例模式35.方法补充issubclass和isinstance36.多态37.继承38.面向对象的三大特性39.封装40.内置函数41.面向对象42.logging模块43.subprocess模块44.正则45.datetime模块46.time模块47.绝对路径和相对路径48.random模块49.os模块50.hashlib模块51.模块与包52.json模块53.生成器54.三元运算符pickle模块
(一)什么是pickle模块
-
pickle 模块是 Python 内置的一个序列化和反序列化的模块,它可以将 Python 对象转换为字节流,也可以将字节流转换回 Python 对象。
-
这些操作通常被称为序列化和反序列化。
-
pickle模块只能在python中使用
(二)序列化和反序列化
(1)序列化
- 序列化是指将 Python 对象转换为可以存储在文件、数据库或者网络传输的数据格式的过程。
- 序列化后得到的结果通常是字节流形式的数据,这种数据可以方便地进行存储和传输。
(2)反序列化
- 反序列化则是指将字节流形式的数据恢复为原来的 Python 对象的过程。
- 在反序列化过程中,Python 解释器会按照一定的规则解析字节流,并根据字节流的内容创建出与之对应的 Python 对象。
pickle模块
"""pickle模块"""
import pickle
class Student(object):
def __init__(self,name):
self.name=name
stu=Student(name='syh')
# 序列化
sbj_b=pickle.dumps(stu)
# pickle模块序列化后是二进制数据
print(sbj_b)
# b'\x80\x04\x95,\x00\x00\x00\x00\x00\x00\x00\x8c\x08__main__\x94\x8c\x07Student\x94\x93\x94)\x81\x94}\x94\x8c\x04name\x94\x8c\x03syh\x94sb.'
# 反序列化
one=pickle.loads(sbj_b)
print(one)# <__main__.Student object at 0x000001C28006BF40>
print(one.name)# syh
pickle模块保存和读取
class Student(object):
def __init__(self,name):
self.name=name
def save_data(path,data):
with open(path,mode='wb')as f:
pickle.dump(data,f)
def read_data(path):
with open(path,mode='rb')as f:
data=pickle.load(f)
return data
s=Student(name='syh')
# 将实例化类都得到的类的对象保存进入
save_data(path='dream',data=s)
data=read_data(path='dream')
# 读出来的就是实例化类得到的类的对象
print(data)# <__main__.Student object at 0x00000297B9D37D90>
# 读出来的实例化得到的类的对象 可以获取到对象的属性
print(data.name)# syh
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)