您好,欢迎访问一九零五行业门户网

Python实现压缩与解压gzip大文件的方法

本文实例讲述了python实现压缩与解压gzip大文件的方法。分享给大家供大家参考,具体如下:
#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:\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) < 1: break self.fout.write(buf) self.fin.close() self.fout.close()
更多python实现压缩与解压gzip大文件的方法。
其它类似信息

推荐信息