python利用gzip压缩解压缩StringIO

When working with a data stream instead of a file, use the GzipFileclass directly to compress or uncompress it. This is useful when thedata is being transmitted over a socket or from read an existing(already open) file handle. A StringIO buffer can also be used.

Note

When re-reading the previously compressed data, I pass an explicit length toread(). Leaving the length off resulted in a CRC error, possibly becauseStringIO returned an empty string before reporting EOF. If you areworking with streams of compressed data, you may want to prefix the data withan integer representing the actual amount of data to be read.

我按照他的方法,自己写了一下:

>>> import gzip
>>> from cStringIO import StringIO
>>> puredata = 'test'
>>> buf=StringIO()
>>> f=gzip.GzipFile(mode="wb", fileobj=buf)
>>> f.write(puredata)
4
>>> f.close()
>>> cdata = buf.getvalue()
>>> print cdata

>>> print len(cdata)
24
>>> import binascii
>>> print binascii.hexlify(cdata)
1f8b0800e0a3ab4f02ff2b492d2e01000c7e7fd804000000
>>> inbuffer = StringIO(cdata)
>>> f = gzip.GzipFile(mode="rb", fileobj=inbuffer)
>>> rdata = f.read()
>>> print rdata
test

成功

之前压缩完了之后总是解压缩不成,提示:

IOError: CRC check failed 0xab380008L != 0x0L

后来发现没有调用f.close(),加上之后就好了

python利用gzip压缩解压缩StringIO相关推荐

  1. python处理gzip压缩的http数据 - XII - 博客大巴

    python处理gzip压缩的http数据 - XII - 博客大巴 python处理gzip压缩的http数据 - XII - 博客大巴 python处理gzip压缩的http数据 - [pytho ...

  2. 数据的gzip压缩解压缩_使用GZIP和压缩数据

    数据的gzip压缩解压缩 抽象 我们都知道用zip或gzip压缩文件的含义. 但是在Java中使用压缩文件并不像您想的那样简单,特别是如果您不是直接使用文件而是压缩流数据时. 我们会去: 如何将字符串 ...

  3. 用Python创建gzip压缩文件

    用Python创建gzip压缩文件 准备把所有文章中的图片链接全部更改到二级域名上.因为数据量比较大,为了方便修改,先将数据库内容导出为数据库脚本文件(后缀名为.sql),直接批量替换后再通过phpM ...

  4. c#实现linux中gzip压缩解压缩算法:byte[]字节数组,文件,字符串,数据流的压缩解压缩

    全栈工程师开发手册 (作者:栾鹏) c#教程全解 c#实现gzip压缩解压缩byte[]字节数组,文件,字符串. 测试代码 static void Main() {//测试字符串String inpu ...

  5. java实现linux中gzip压缩解压缩算法:byte[]字节数组,文件,字符串,数据流的压缩解压缩

    全栈工程师开发手册 (作者:栾鹏) java教程全解 java实现gzip压缩解压缩byte[]字节数组,文件,字符串. 测试代码 public static void main(String[] a ...

  6. Python利用PCA压缩图片

    Python利用PCA压缩图片 参考 Python利用PCA对图片进行降维处理 PCA降维 维度 样本数 feature数 1.python代码实现PCA 这里先将1280的1D向量转变成2D图片之后 ...

  7. c# 利用 GZipStream 压缩解压缩文件(所有类型的文档)

    c# 利用 GZipStream 压缩解压缩文件(所有类型的文档) using System; using System.Collections.Generic; using System.IO; u ...

  8. python gzip压缩_Python gzip –压缩解压缩

    python gzip压缩 Python gzip module provides a very simple way to compress and decompress files and wor ...

  9. 网页数据压缩(python deflate gzip),解压缩

    在写爬虫抓取网页时,通过下面代码可以将网页代码抓取回来,一般直接就是HTML的相关网页代码. data = urllib2.urlopen(url).read() 但有时,返回的是一些看不懂的数据. ...

最新文章

  1. 安装 | 手把手教你Android studio 3.5.2安装(安装教程)
  2. pwm 正弦波_CC6420单相正弦波直流无刷马达驱动应用指南
  3. Servlet中response对象Commit状态的分析
  4. 学生社团网站html,学生社团活动平台的设计与实现.docx
  5. Android笔记:Activity
  6. django 学习-7 模型数据操作
  7. Leetcode每日一题:147.insertion-sort-list(对链表进行插入排序)
  8. IDEA开发中常用快捷键
  9. Echarts 地图绘制
  10. 1111: 多个整数的逆序输出(函数专题)
  11. PLSQL下载及安装
  12. Mac电脑上最好的3个txt阅读器
  13. GNS3模拟ASA8.4 ASDM6.4QEMU模拟 终结版
  14. 食堂点餐小程序,智慧食堂小程序,食堂预约点餐小程序毕设作品
  15. 【易我数据恢复】超实用的数据恢复工具
  16. Unity快速入门教程-手机游戏开发前的准备(手机模拟器Simulator)
  17. 一致性算法 - Distro协议在Nacos的实践
  18. 计算机使用鼠标的课件,鼠标的基本操作ppt课件.ppt
  19. 基于科大讯飞语音识别demo(离线)
  20. android知乎小圆圈刷新效果

热门文章

  1. ubuntu ssh 登录日志_全球第一开源ERP Odoo操作手册 安装ssh服务和ssh客户端
  2. ERP项目实施记录09
  3. Android图片,PNG还是JPG?用哪种?
  4. C++内存和进程,线程学习补充(内存泄漏,信号量)
  5. Android存储-SharedPreferences
  6. AI产品开发的核心原则:以研究为核心驱动
  7. java反射 一些理解
  8. angularjs $state.go页面不刷新数据
  9. oracle 创建字段自增长——两种实现方式汇总(转)
  10. 黄聪:用于 Web 应用程序项目部署的 Web.config 转换语法