生活知识
生活知识
数码知识
教育知识
汽车知识
游戏知识
办公知识
装修知识
旅游知识
搜索

生活知识分类 日常知识 生活知识 餐饮知识 宠物知识 运动知识 更多知识 中文DJ 英文DJ 车载DJ 视频DJ

gzip文件怎么打开

日期:2023-06-18 09:16:19人气:5

导读:gzip文件怎么打开:最近处理线上日志,日志文件刚好是经过压缩的,且是gz后缀。自己便采用gzip库来处理。  示例如下:  创建gzip文件  # -- coding: utf-8 --import gzip""

gzip文件怎么打开 gzip文件怎么解压

  


  最近处理线上日志,日志文件刚好是经过压缩的,且是gz后缀。自己便采用gzip库来处理。

  示例如下:

  创建gzip文件

  # -- coding: utf-8 --import gzip创建gzip文件content = 侠客行李白 〔唐代〕赵客缦胡缨,吴钩霜雪明。银鞍照白马,飒沓如流星。十步杀一人,千里不留行。事了拂衣去,深藏身与名。闲过信陵饮,脱剑膝前横。将炙啖朱亥,持觞劝侯嬴。三杯吐然诺,五岳倒为轻。眼花耳热后,意气素霓生。救赵挥金槌,邯郸先震惊。千秋二壮士,烜赫大梁城。纵死侠骨香,不惭世上英。谁能书阁下,白首太玄经。f = gzip.open('xiakexing.txt.gz', 'wb')f.write(str.encode(content))f.close()

  


  解压gzip文件

  # -- coding: utf-8 --import gzip解压gzip文件f = gzip.open('xiakexing.txt.gz', 'rb')file_content = f.read().decode('utf-8')f.close()print(file_content)

  


  压缩现有gzip文件

  # -- coding: utf-8 --import gzipgzip压缩现有文件f_in = open('file.txt', 'rb')f_out = gzip.open('file.txt.gz', 'wb')f_out.writelines(f_in)f_out.close()f_in.close()

  


  处理大文件

  真正在生产可能会存在比较大的文件,直接解压肯定是不行了。可能会报错,例如:

  


  所以可以采用循环处理,加入一定的缓冲机制,例如:

  # -- coding: utf-8 --import gzipimport osbuf_size = 1024 * 8def gzip_file(src, dst): fin = open(src, 'rb') fout = gzip.open(dst, 'wb') in2out(fin, fout)def gunzip_file(gz_file, dst): fin = gzip.open(gz_file, 'rb') fout = open(dst, 'wb') in2out(fin, fout)def in2out(fin, fout): while True: buf = fin.read(buf_size) if len(buf) < 1: break fout.write(buf) fin.close() fout.close()

  再次执行就能看到大文件,正常解压了

  


广告位1

声明: 本站所有文章来自互联网搜索结果, 如果侵犯到你的权益 请提供版权证明来信告知,我们会在3个工作日之内删除 本站为非赢利性网站 不接受任何赞助和广告

Copyright 2022-2023 32h.pingguodj.com 32号百科 客服邮箱:s2s2s2-s@outlook.com