日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

利用python中的gzip模块压缩和解压数据流和文件

發布時間:2023/11/27 生活经验 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用python中的gzip模块压缩和解压数据流和文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

直接給出源碼實現, 分為兩種情況:

1.網絡連接中的數據流的壓縮和解壓,或是打開的文件讀取一部分

2.打開文件壓縮或是解壓

#!/usr/bin/env python
#encoding: utf-8
#filename: gzip_demo.py
#author: tao_627@aliyun.com
#date: 2015-06-30import gzip, binascii, os
from cStringIO import StringIOdef gzip_compress(raw_data):buf = StringIO()f = gzip.GzipFile(mode='wb', fileobj=buf)try:f.write(raw_data)finally:f.close()return buf.getvalue()def gzip_uncompress(c_data):buf = StringIO(c_data)f = gzip.GzipFile(mode = 'rb', fileobj = buf)try:r_data = f.read()finally:f.close()return r_datadef compress_file(fn_in, fn_out):f_in = open(fn_in, 'rb')f_out = gzip.open(fn_out, 'wb')f_out.writelines(f_in)f_out.close()f_in.close()def uncompress_file(fn_in, fn_out):f_in = gzip.open(fn_in, 'rb')f_out = open(fn_out, 'wb')file_content = f_in.read()f_out.write(file_content)f_out.close()f_in.close()if __name__ == '__main__':in_data = 'hello, world!'print in_dataout_data = gzip_compress(in_data)print binascii.hexlify(out_data)r_data = gzip_uncompress(out_data)print r_dataraw_f = '/opt/log/raw/access.log_HLJYD-ICS-68_20150609040506.old'#raw_f = '/home/taoyx/program_develop/python_dev/a.html';gzip_f2 = '/opt/log/raw/access.log_HLJYD-ICS-68_20150609040506.gz'#gzip_f2 = '/home/taoyx/program_develop/python_dev/log_gz/cpm.access.log-20150225.gz'#gzip_f2 = '/home/taoyx/program_develop/python_dev/a.html.1.gz'compress_file(raw_f, gzip_f2)#gunzip_f = '/home/taoyx/program_develop/python_dev/log_gz/cpm.access.log-20150225.old'#gunzip_f = '/home/taoyx/program_develop/python_dev/a.html.1'#uncompress_file(gzip_f2, gunzip_f)

請自己修改輸入和輸出文件路徑, 確保相應的文件存在, 取消相應的注釋進行測試.

參考文獻:

[1].https://docs.python.org/2/library/gzip.html? ?官網

[2].http://blog.csdn.net/jhonguy/article/details/7867348?

總結

以上是生活随笔為你收集整理的利用python中的gzip模块压缩和解压数据流和文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。