Python中使用gzip模块压缩文件的简单教程

yipeiwu_com7年前Python基础

压缩数据创建gzip文件
先看一个略麻烦的做法
 

import StringIO,gzip
content = 'Life is short.I use python'
zbuf = StringIO.StringIO()
zfile = gzip.GzipFile(mode='wb', compresslevel=9, fileobj=zbuf)
zfile.write(content)
zfile.close()

但其实有个快捷的封装,不用用到StringIO模块
 

f = gzip.open('file.gz', 'wb')
f.write(content)
f.close()

压缩已经存在的文件
python2.7后,可以用with语句
 

import gzip
with open("/path/to/file", 'rb') as plain_file:
  with gzip.open("/path/to/file.gz", 'wb') as zip_file:
    zip_file.writelines(plain_file)

如果不考虑跨平台,只在linux平台,下面这种方式更直接
 

from subprocess import check_call
check_call('gzip /path/to/file',shell=True)

相关文章

浅谈Python类的__getitem__和__setitem__特殊方法

一个有点绕的例子,用PyScripter调试器步进跟踪可以看清楚对 象结构的具体细节。 对原作改变了一下,在未定义子对象属性时__getitem__中使用现成的__setitem__来定...

在Python的Django框架中创建语言文件

当你标记了翻译字符串,你就需要写出(或获取已有的)对应的语言翻译信息。 这里就是它如何工作的。 地域限制 Django不支持把你的应用本地化到一个连它自己都还没被翻译的地域。 在这种情况...

Django 使用Ajax进行前后台交互的示例讲解

本文要实现的功能是:根据下拉列表的选项将数据库中对应的内容显示在页面,选定要排除的选项后,提交剩余的选项到数据库。 为了方便前后台交互,利用了Ajax的GET和POST方法分别进行数据的...

tensorflow tf.train.batch之数据批量读取方式

在进行大量数据训练神经网络的时候,可能需要批量读取数据。于是参考了这篇文章的代码,结果发现数据一直批量循环输出,不会在数据的末尾自动停止。 然后发现这篇博文说slice_input_pr...

Python实现钉钉订阅消息功能

Python实现钉钉订阅消息功能

钉钉设置机器人 首先在钉钉设置钉钉机器人 群设置—> 智能群助手—>添加机器人—>自定义 添加完成,得到一个Webhook API地址 Python脚本实现推送钉...