专栏首页APP自动化测试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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Objective-C 工厂模式(下) -- 抽象工厂模式

    比如用户要买iPhone就创建一个Apple工厂来生产手机, 要买Android手机就创建一个Goolge工厂

    周希
  • iOS实现UITableViewDataSource与Controller的分离

    在之前的项目中好多处用到了tableView,然而之前不懂得将代理方法实现分离,所以每在一处用到tableView就要在controller中写一遍UITabl...

    周希
  • 实现点击图片不同区域响应不同的事件

    开始考虑以纵轴为0度, 计算点击坐标跟中心点连线并计算跟纵轴的角度来判断, 不过代码写好后发现在不同的设备上有误差

    周希
  • 关于python访问字典的方法

    py3study
  • Python黑帽编程2.9 面向对象编程

    Python黑帽编程2.9 面向对象编程 我个人认为,计算机语言的发展,有两个方向,一个是从低到高的发展过程,在这个过程中,语言的思考和解决问题的方式是面向硬件...

    用户1631416
  • JVM:全面解析Java对象的创建、内存布局 & 访问定位流程

    由于引用类型数据(reference)在 Java虚拟机中只规定了一个指向对象的引用,但没定义该引用应该通过何种方式去定位、访问堆中的对象的具体位置

    Carson.Ho
  • python pyqt5 获得城市天气

    from PyQt5 import QtCore, QtGui, QtWidgets

    用户5760343
  • 《neural network and deep learning》题解——ch02 Network源码分析

    http://blog.csdn.net/u011239443/article/details/75008380

    用户1621453
  • 《PaddlePaddle从入门到炼丹》十四——把预测模型部署在服务器

    如果读者使用过百度等的一些图像识别的接口,比如百度的细粒度图像识别接口,应该了解这个过程,省略其他的安全方面的考虑。这个接口大体的流程是,我们把图像上传到百度的...

    夜雨飘零
  • python 实现原型设计模式

    原型设计模式主要在当新建一个对象的时候,觉得很麻烦,并且你又要保留当前对象。在这种情况下使用原型设计模式是一个很好的解决办法。

    公众号 碧油鸡

扫码关注云+社区

领取腾讯云代金券