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

718次阅读  |  发布于5年以前

压缩数据创建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)

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8