Python 实现 tar.gz 文件压缩与解压的完整指南

键盘旁的猫
键盘旁的猫
发布时间:2026-10-11| 2人浏览过
原创

本文详细解析如何使用 Python 标准库 tarfile 模块实现 tar.gz 文件的压缩与解压。通过具体代码示例,展示如何遍历目录进行打包以及将归档文件提取到指定路径,帮助开发者高效处理文件归档任务。

Python 实现 tar 文件压缩与解压

在 Python 中处理归档文件时,tarfile 模块提供了强大的功能。本文将通过两个核心函数,分别演示如何创建 .tar.gz 压缩文件以及如何将其解压到指定目录。

1. 实现 tar 文件压缩

压缩函数的核心逻辑是利用 os.walk 遍历目标目录,并将所有文件逐一添加到归档中。以下是实现压缩的完整代码:

import tarfile 
import os 
def tar(fname): 
  t = tarfile.open(fname + ".tar.gz", "w:gz") 
  for root, dir, files in os.walk(fname): 
    print root, dir, files 
    for file in files: 
      fullpath = os.path.join(root, file) 
      t.add(fullpath) 
  t.close() 
 
if __name__ == "__main__": 
  tar("del") 

在上述代码中,fname 参数指定了目标文件的路径。函数通过 tarfile.open 以 "w:gz" 模式打开文件,这表示创建一个 gzip 压缩的 tar 包。随后,利用 os.walk 递归遍历目录,使用 t.add() 方法将每个文件的完整路径(fullpath)添加到归档中。最后,调用 t.close() 确保文件句柄正确关闭。

2. 实现 tar 文件解压

解压操作相对直接,主要依赖于 tarfile 模块提供的 extractall() 方法。以下是实现解压的代码示例:

import tarfile 
import os 
def untar(fname, dirs): 
  t = tarfile.open(fname) 
  t.extractall(path = dirs)  
 
if __name__ == "__main__": 
  untar("del.tar.gz", ".") 

在解压函数 untar 中,fname 参数指定了要解压的归档文件路径,而 dirs 参数则指定了保存解压后文件的目标目录。函数通过 tarfile.open 打开归档文件,并调用 t.extractall(path=dirs) 将内容提取到指定路径。在示例中,解压操作将文件提取到了当前目录(".")。

总结

通过上述两个示例,我们可以看到 Python 的 tarfile 模块在处理归档文件时的便捷性。无论是压缩还是解压,只需几行代码即可完成。在实际应用中,可以根据具体需求调整路径和参数,以实现更复杂的文件处理逻辑。

以上就是 python 实现tar文件压缩解压的实例详解的详细内容,更多关于 Python tarfile 压缩解压的资料请关注本站其它相关文章!

相关标签:

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

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 算法库。