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

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

本文详细解析如何使用 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 相关产品和应用

全部下载

专题列表