比尔云BierYun--阿里云最新优惠活动
阿里云优惠码丨阿里云代金券

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

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

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

原文地址https://www.cnblogs.com/zhouxihi/p/10488325.html

未经允许不得转载:阿里云代金券 » Python — 使用pickle 和 CPickle对数据对象进行归档和解析

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

强烈推荐

高性能SSD云服务器ECS抗攻击,高可用云数据库RDS