python实现在pickling的时候压缩的方法

yipeiwu_com7年前Python基础

本文实例讲述了python实现在pickling的时候压缩的方法。分享给大家供大家参考。

具体方法如下:

import cPickle,gzip
def save(filename,*objects):
  fil1 = gzip.open(filename,'wb')
  for obj in objects:
    cPickle.dump(obj,fil1,protocol = 2)
    fil1.close()
def load(filename):
  fil1 = gzip.open(filename,'rb')
  while True:
    try:
      yield cPickle.load(fil1)
    except EOFError:
      break
  fil1.close()
  
  
data1 = ['abc',12,23]  #几个测试数据
data2 = {1:'aaa',"b":'dad'}
data3 = (1,2,4)
data = list([data1,data2,data3])
save('data.zip',data)

iter = load('data.zip')
for item in iter:
  for data in item:
    print data

本文实例测试环境为Python2.7.6

程序运行结果如下:

['abc', 12, 23]
{1: 'aaa', 'b': 'dad'}
(1, 2, 4)

在程序运行的同时会在同级目录下生成data.zip文件。

希望本文所述对大家Python程序设计的学习有所帮助。

相关文章

python使用turtle库与random库绘制雪花

python使用turtle库与random库绘制雪花

本文实例为大家分享了python绘制雪花的具体代码,供大家参考,具体内容如下 代码非常容易理解,画着玩玩还是可以的。直接上代码 # -*- coding: utf-8 -*- """...

Python编程图形库之Pillow使用方法讲解

Python编程图形库之Pillow使用方法讲解

PIL vs Pillow PIL: Python Imaging Library,是python的图像处理库。由于PIL不兼容setuptools,再加上更新缓慢等因素,Alex Cl...

详解Python list 与 NumPy.ndarry 切片之间的对比

详解Python list 与 NumPy.ndarry 切片之间的区别 实例代码: # list 切片返回的是不原数据,对新数据的修改不会影响原数据 In [45]: list1...

python3使用print打印带颜色的字符串代码实例

一、实现过程 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关 转义序列是以ESC开头,即用\033来完成(ESC的ASCII码用十进制表示是27,用八进制...

Python中使用__new__实现单例模式并解析

单例模式是一个经典设计模式,简要的说,一个类的单例模式就是它只能被实例化一次,实例变量在第一次实例化时就已经固定。  在Python中常见的单例模式有None,这就是一个很典...