1、Python2中指定编码读取gzip文件
import gzip fp = gzip.open('foo.gz') contents = fp.read() #contents是foo.gz的未压缩字节 fp.close() u_str = contents.decode('utf-8') #u_str 现在是unicode 字符串
2、Python3中指定编码读取gzip文件
import gzip gzip.open('file.gz', 'rt', encoding='utf-8')
3、Python2中gzip文件常用操作
1)读取压缩文件的示例代码:
import gzip with gzip.open('file.txt.gz', 'rb') as f: file_content = f.read()
2)创建压缩gzip文件示例代码:
import gzip content = "Lots of content here" with gzip.open('file.txt.gz', 'wb') as f: f.write(content)
3)gzip压缩现有文件的示例代码:
import gzip import shutil with open('file.txt', 'rb') as f_in, gzip.open('file.txt.gz', 'wb') as f_out: shutil.copyfileobj(f_in, f_out)
官方文档:https://docs.python.org/2/library/gzip.html
4、Python3中gzip文件的常用操作
1)读取压缩文件的示例代码:
import gzip with gzip.open('/home/joe/file.txt.gz', 'rb') as f: file_content = f.read()
2)创建压缩gzip文件的示例代码:
import gzip content = b"Lots of content here" with gzip.open('/home/joe/file.txt.gz', 'wb') as f: f.write(content)
3)gzip压缩现有文件的示例代码:
import gzip import shutil with open('/home/joe/file.txt', 'rb') as f_in: with gzip.open('/home/joe/file.txt.gz', 'wb') as f_out: shutil.copyfileobj(f_in, f_out)
4)gzip压缩二进制字符串的示例代码:
import gzip s_in = b"Lots of content here" s_out = gzip.compress(s_in)