python3 gzip解压_Python压缩/解压gzip大文件

Code tells all:#encoding=utf-8

#author: walker

#date: 2015-10-26

#summary: 测试gzip压缩/解压文件

import gzip

BufSize = 1024*8

def gZipFile(src, dst):

fin = open(src, 'rb')

fout = gzip.open(dst, 'wb')

in2out(fin, fout)

def gunZipFile(gzFile, dst):

fin = gzip.open(gzFile, 'rb')

fout = open(dst, 'wb')

in2out(fin, fout)

def in2out(fin, fout):

while True:

buf = fin.read(BufSize)

if len(buf) 

break

fout.write(buf)

fin.close()

fout.close()

if __name__ == '__main__':

src = r'D:\tmp\src.txt'

dst = r'D:\tmp\src.txt.gz'

ori = r'D:\tmp\ori.txt'

gZipFile(src, dst)

print('gZipFile over!')

gunZipFile(dst, ori)

print('gunZipFile over!')

也可以简单地封装成一个类:class GZipTool:

def __init__(self, bufSize):

self.bufSize = bufSize

self.fin = None

self.fout = None

def compress(self, src, dst):

self.fin = open(src, 'rb')

self.fout = gzip.open(dst, 'wb')

self.__in2out()

def decompress(self, gzFile, dst):

self.fin = gzip.open(gzFile, 'rb')

self.fout = open(dst, 'wb')

self.__in2out()

def __in2out(self,):

while True:

buf = self.fin.read(self.bufSize)

if len(buf) 

break

self.fout.write(buf)

self.fin.close()

self.fout.close()

相关阅读:

*** walker ***

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值