Python对象序列化

来源:互联网 发布:手机访客网络怎么限速 编辑:程序博客网 时间:2024/06/14 02:13

在python中,一般可以使用pickle类来进行python对象的序列化,而cPickle提供了一个更快速简单的接口,如python文档所说的:“cPickle -- A faster pickle”。

cPickle可以对任意一种类型的python对象进行序列化操作,比如list,dict,甚至是一个类的对象等。而所谓的序列化,我的粗浅的理解就是为了能够完整的保存并能够完全可逆的恢复。


制作一个类似于Cifar10的数据格式:

    X_train = np.asarray(X_train)    dict = {"data":X_train,"labels":y_train}    #protocol =1 高压缩的二进制格式 默认=0 使用ASCII压缩    cPickle.dump(dict,open("data","wb"),protocol=1)    fo = open("data","rb")    data = cPickle.load(fo)    print type(data["data"])    print data["data"]

实测中,protocol改为1后从60M到20M。

0 0
原创粉丝点击