python之pickle模块dump()函数和load()函数保存和读取.pkl文件

1、简述

  • Python中的 pickle 模块实现了基本的数据序列化反序列化
  • 序列化对象可以在磁盘上保存对象,并在需要的时候读取出来,反序列化适合程序直接应用。

2、详解dump()方法

2.1 dump()方法

pickle.dump(obj, file, [,protocol])

  • obj–序列化对象,将对象obj保存到文件file中去;
  • file–表示保存到的类文件对象,file必须有write()接口,file可以是一个以’w’或’wb’打开的文件或者是一个StringIO对象,也可以是任何可以实现write()接口的对象;
  • protocol——序列化模式,默认是 0(ASCII协议,表示以文本的形式进行序列化),protocol的值还可以是1和2(1和2表示以二进制的形式进行序列化)。

2.2 示例

xp = XmlProcess("./commodity/Annotations/")
xp.process_xml()
pickle.dump(xp.data, open("./commodity_gt.pkl", 'wb'))

此处是计算机视觉中处理xml文件的部分代码,所以是采用的实例化的方式传入对象;xp部分可以是读取的本地文件,也可以是程序的某个对象。

生成文件如下:
在这里插入图片描述

3、详解 load()方法

3.1load()方法

pickle.load(file)

  • 反序列化对象,将文件中的数据解析为一个python对象。
  • file中有read()接口和 readline() 接口

3.2 示例

result = pickle.load(open("./commodity_gt.pkl", "rb"))
print(result)

print的结果如下
在这里插入图片描述

此处print的结果便是存储的内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值