zoukankan      html  css  js  c++  java
  • pickle模块

    pickle

    先看一下下边使用pickle模块的例子:

    import pickle
    class Person:
      def __init__(self,n,a):
        self.name=n
        self.age=a
      def show(self):
        print self.name+"_"+str(self.age)
    aa = Person("JGood", 2)
    aa.show()
    f=open('d:\p.txt','w')
    pickle.dump(aa,f,0)#序列化存起来
    f.close()
    #del Person
    f=open('d:\p.txt','r')
    bb=pickle.load(f)#反序列化
    f.close()
    bb.show()
    

    输出结果:

    JGood_2
    JGood_2
    
    • 如果不注释掉del Person的话,那么会报错当前模块找不到类的定义了。
    • 在load(file)的时候,要让python能够找到类的定义,否则会报错

    那么,pickle 模块是用来干什么的呢?

    • python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。

    基本接口

    1 序列化对象

    pickle.dump(obj, file[, protocol])
    
    • 序列化对象,并将结果数据流写入到文件对象中。参数protocol是序列化模式,默认值为0,表示以文本的形式序列化。protocol的值还可以是1或2,表示以二进制的形式序列化。

    2 反序列化对象。将文件中的数据解析为一个Python对象。

    pickle.load(file)
    
  • 相关阅读:
    JS加强学习-BOM学习03
    JS加强学习-BOM学习02
    JS加强学习-BOM学习01
    JS加强学习-DOM学习总结
    JS加强学习-DOM学习05
    JS加强学习-DOM学习04
    JS加强学习-DOM学习03
    《雨霖铃》——柳永
    《青玉案·元夕》——辛弃疾
    《沁园春·雪》——毛 泽东
  • 原文地址:https://www.cnblogs.com/monkey-moon/p/9570749.html
Copyright © 2011-2022 走看看