python 的两个modules pickle 和 cPickle

pickle module 里面implement了一些具有serilizing 和de-serilizing a Python object structure 功能的fundamental but powerful 的algorithms。 

Q: 什么是serializing 和de-serializing??

这是两个计算机上的术语, 翻译过来就是序列化(serialization)。也就是将一个python 文件对象 converting to a byte stream(字节流)。 de-serialization 做的是相反的操作。 也就是将一个byte stream转换为一个object hierarchy。 也就是说, 我们可以使用pickle模块把python 对象直接保存到文件中, 而不需把他们转换为字符串。 你不需要考虑任何细节, just use it。

在这里, pickling和unpickling 同 serialization和de-seralization分别 可以交换使用。

应用百度百科一句话:序列化,序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。

Warning

 

The pickle module is not intended to be secure against erroneous or maliciously constructed data. Never unpickle data received from an untrusted or unauthenticated source.



pickle 具有两个重要的函数, 一个是dump(), 作用是接受一个文件句柄和一个数据对象作为参数, 把数据对象以特定的格式保存到给定的文件中。 另一个函数是load(), 作用是从文件中取出已保存的对象, pickle 知道如何恢复这些对象到他们本来的格式。

使用方式如下:

pickle.dump(objfile[protocol]) // 将obj指定的python 对象存放到File中


pickle.load(file)


接下来说说cPickle module。

cPickle 是pickle的一个更快的c语言编译版本。 可以说是

A faster pickle

The cPickle module supports serialization and de-serialization of Python objects, providing an interface and functionality nearly identical to the pickle module.



在notepad++ 输入程序如下。

import cPickle, gzip, numpy

#Load the dataset
f = gzip.open('E:\pythonLearning\mnist.pkl.gz', 'rb')
train_set, valid_set, test_set = cPickle.load(f)
f.close()

运行程序如下:

附: notepad++ 保存快捷键是ctrl + shift + save.

还有一个提高程序员工作效率的快捷键是Alt + Tab 用于切换窗口。 快速run 的快捷键是F5.






 




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值