Python gzip文件读写:使用gzip模块与with语句详解

咖啡半糖
咖啡半糖
发布时间:2026-10-12| 3人浏览过
原创

本文详解Python中gzip文件的读写方法。通过导入gzip模块,使用gzip.open()函数以二进制模式('wb'或'rb')打开文件。重点介绍结合with语句的上下文管理器用法,可自动管理文件关闭,简化代码并避免资源泄露。适用于文本文件的压缩与解压处理。

Python gzip文件读写方法详解

在Python中处理gzip压缩文件,核心在于使用内置的 gzip 模块。其基本操作逻辑与普通文本文件(TXT)的读写非常相似,主要区别在于需要指定正确的文件模式(如二进制写入 'wb' 或读取 'rb')。

1. 基础读写操作

要读写gzip文件,首先需要导入 gzip 模块。使用 gzip.open() 函数打开文件,并指定相应的模式。

# -*- coding: utf-8 -*-
import gzip

# 写文件
f_out = gzip.open("xxx.gz", "wb")

# 读文件
# f_in = gzip.open("xxx.gz", "rb")
for line in open("yyy.txt", "rb"):
  f_out.write(line)

f_out.close()

在上述代码中,我们打开一个名为 xxx.gz 的文件进行二进制写入。通过遍历普通文本文件 yyy.txt 的每一行,并将其写入到gzip文件中,实现简单的压缩效果。最后,务必调用 f_out.close() 关闭文件,确保数据完整写入磁盘。

2. 使用 with 语句简化代码

为了简化代码并避免忘记关闭文件导致的资源泄露,推荐使用 with 语句。当使用 with 语句时,文件对象会在代码块执行完毕后自动关闭,无需手动调用 close() 方法。

# -*- coding: utf-8 -*-
import gzip

# 写文件
with gzip.open("xxx.gz", "wb") as f_out:
    for line in open("yyy.txt", "rb"):
        f_out.write(line)

# f_out.close() 就不需要了

这种写法不仅代码更简洁,而且更加安全。无论代码块中是否发生异常,文件都会被正确关闭。这是处理gzip文件的推荐方式。

3. 注意事项

  • 文件模式: 读写gzip文件时,务必使用二进制模式('rb' 或 'wb'),否则可能会遇到编码问题。
  • 数据格式: 示例中是将普通文本文件逐行写入gzip文件。实际应用中,可根据需要读取或写入二进制数据。
  • 自动关闭: 使用 with 语句可以确保文件在使用后自动关闭,避免资源泄露。

以上就是Python gzip文件读写方法的详细内容,更多关于Python gzip模块与with语句的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。