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进阶:生成器 懒人版本的迭代器详解

从容器、可迭代对象谈起 所有的容器都是可迭代的(iterable),迭代器提供了一个next方法。iter()返回一个迭代器,通过next()函数可以实现遍历。 def is_it...

python中如何使用正则表达式的非贪婪模式示例

前言 本文主要给大家介绍了关于python使用正则表达式的非贪婪模式的相关内容,分享出来供大家参考学习,下面话不多说了,来一起详细的介绍吧。 在正则表达式里,什么是正则表达式的贪婪与非贪...

python+pyqt5编写md5生成器

python+pyqt5编写md5生成器

本文实例为大家分享了python+pyqt5编写md5生成器的具体代码,供大家参考,具体内容如下 学了一下pyqt5,写一个小程序来实践一下。 下图是程序界面: 下面是代码:...

Python利用多线程同步锁实现多窗口订票系统(推荐)

利用Python实现多窗口订票系统,利用 threading.Lock() 避免出现一票多卖,无票也卖的情况,并规范化输出情况。 代码: import threading impor...

使用Python简单的实现树莓派的WEB控制

使用Python简单的实现树莓派的WEB控制

先给大家展示下效果如图,感觉还很满意请继续阅读全文:   用到的知识:Python Bottle HTML Javascript JQuery Bootstrap AJAX...