You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 3.11:如何将.gz文件解压到当前目录并获取未压缩文件?

解决.gz文件解压后仍为压缩状态的问题

问题出在你用gzip.open()打开输出文件,这会把从.gz文件中读取到的未压缩数据再次压缩写入,最终生成的.log文件自然还是压缩格式。

正确的做法是用普通文件打开方式(open())来写入输出文件,这样就能得到未压缩的日志文件:

import shutil
import gzip

file_name = 'name.log.gz'
with gzip.open(file_name, 'rb') as f_in:
    # 用普通open打开输出文件,而非gzip.open
    with open(file_name[:-3], 'wb') as f_out:
        shutil.copyfileobj(f_in, f_out)

另外,也可以用更简洁的方式,直接调用shutil.unpack_archive(),这个方法会自动识别并处理压缩格式:

import shutil

file_name = 'name.log.gz'
shutil.unpack_archive(file_name, extract_dir='.')

内容的提问来源于stack exchange,提问作者Vincent Hilario

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 22:22:33