• Python -- 使用pickle 和 CPickle对数据对象进行归档和解析


    经常遇到在Python程序运行中得到了一些字符串、列表、字典、对象等数据,想要长久的保存下来,方便以后使用,而不是简单的放入内存中关机断电就丢失数据。

    这个时候Pickle模块就派上用场了,它可以将对象转换为一种可以传输或存储的格式。

    使用Pickle给对象归档:

    import pickle
    
    class Student(object):
    
        def __init__(self):
            self.name = ''
            self.age  = ''
    
    if __name__ == '__main__':
        stu = Student()
        stu.name = 'zhouxi'
        stu.age  = 18
        pklPath = 'a.pkl'
        with open(pklPath, 'w') as f:
            pickleString = pickle.dump(stu, f)

    运行会生成一个a.pkl文件, stu实例就归档在这个文件中了

    使用Pickle进行解档

    import pickle
    
    class Student(object):
    
        def __init__(self):
            self.name = ''
            self.age  = ''
    
    if __name__ == '__main__':
        stu = Student()
        pklPath = 'a.pkl'
        with open(pklPath, 'r') as f:
            stu = pickle.load(f)
        print stu.name
        print stu.age

    运行结果如下:

    zhouxi
    18

    cPickle包的功能和用法与pickle包几乎完全相同 (其存在差别的地方实际上很少用到),不同在于cPickle是基于c语言编写的,速度是pickle包的1000倍。对于上面的例子,如果想使用cPickle包,我们都可以将import语句改为:

    import cPickle as pickle

    上面代码就不需要做改动了

  • 相关阅读:
    jquery学习
    java--MVC引入JUnit单元测试
    BAE引擎发布到外网
    ORACLE1.26 综合:游标和动态SQL
    ORACLE1.25 动态SQL
    ORACLE1.24 银行系统操作和游标
    ORACLE1.23 loop,whild.for循环
    ORACLE1.23 if case when
    ORACLE1.22 %type %rowtype
    ORACLE1.21 PLSQL 01
  • 原文地址:https://www.cnblogs.com/zhouxihi/p/10488325.html
Copyright © 2020-2023  润新知