小编给大家分享一下分析Python3中泡菜模块的使用情况,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!
<强>泡菜模块特点强>
1,只能在python中使用,只支持python的基本数据类型。
2,可以处理复杂的序列化语法。(例如自定义的类的方法,游戏的存档等)
3,序列化的时候,只是序列化了整个序列对象,而不是内存地址。
泡菜:用于python特有的类型和python的数据类型间进行转换,泡菜提供四个功能:转储,转储,负载,负载
<强>黄瓜可以存储什么类型的数据呢? 强>
所有python支持的原生类型:布尔值,整数,浮点数,复数,字符串,字节,没有。
由任何原生类型组成的列,表元组,字典和集合。
函数、类、类的实例
<强>泡菜模块中常用的方法强>
1。泡菜。转储(obj文件,协议=None,)
必填参数obj表示将要封装的对象
必填参数文件表示obj要写入的文件对象,文件必须以二进制可写模式打开,即“白平衡”
可选参数协议表示告知酸洗装置使用的协议,支持的协议有0,1,2,3,默认的协议是添加在Python 3中的协议3 .
2。泡菜。负载(文件、* fix_imports=True,编码=癆SCII",错误=皊trict")
必填参数文件必须以二进制可读模式打开,即“rb”,其他都为可选参数
3。pickle.dumps (obj):以字节对象形式返回封装的对象,不需要写入文件中
4。pickle.loads (bytes_object):从字节对象中读取被封装的对象,并返回
<强>泡菜模块三种异常类型强>
1。PickleError:封装和拆封时出现的异常类,继承自异常
2。PicklingError:遇到不可封装的对象时出现的异常,继承自PickleError
3。UnPicklingError:拆封对象过程中出现的异常,继承自PickleError
<强>代码实例强>
转储功能
转储将数据通过特殊的形式转换为只有python语言认识的字符串
import 困境 data =, (& # 39; aa # 39;,, & # 39; bb # 39;,, & # 39; cc # 39;),, #,dumps 将数据通过特殊的形式转换为只有python语言认识的字符串 时间=p_str pickle.dumps(数据) 打印(p_str)
结果
b # 39; \ x80 \ x03]问\ x00 (X \ x02 \ x00 \ x00 \ x00aaq \ x01X \ x02 \ x00 \ x00 \ x00bbq \ x02X \ x02 \ x00 \ x00 \ x00ccq \ x03e。
<强>加载功能强>
loads 将泡菜数据转换为python的数据结构
mes =, pickle.loads (p_str) 打印(mes)
结果
[& # 39;aa # 39;,, & # 39; bb # 39;,, & # 39; cc # 39;]
看完了这篇文章,相信你对分析Python3中泡菜模块的使用情况有了一定的了解,想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!