各位用户为了找寻关于Python实现压缩与解压gzip大文件的方法的资料费劲了很多周折。这里教程网为您整理了关于Python实现压缩与解压gzip大文件的方法的相关资料,仅供查阅,以下为您介绍关于Python实现压缩与解压gzip大文件的方法的详细内容

本文实例讲述了Python实现压缩与解压gzip大文件的方法。分享给大家供大家参考,具体如下:

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #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) < 1:       break     fout.write(buf)   fin.close()   fout.close() if __name__ == '__main__':   src = r'D:tmpsrc.txt'   dst = r'D:tmpsrc.txt.gz'   ori = r'D:tmpori.txt'   gZipFile(src, dst)   print('gZipFile over!')   gunZipFile(dst, ori)   print('gunZipFile over!')

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

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 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) < 1:         break       self.fout.write(buf)     self.fin.close()     self.fout.close()

希望本文所述对大家Python程序设计有所帮助。