【问题标题】:Traverse tar file recursively and extract all files with specified extension递归遍历tar文件,提取指定扩展名的所有文件
【发布时间】:2019-08-01 11:41:05
【问题描述】:

我有一个 tar.gz 文件,其中包含文件、文件夹和其他 tar.gz 文件的层次结构。

我不知道目录结构的深度,它会因文件而异

我想知道一种编写 Python 脚本的方法,该脚本将遍历所有压缩文件并提取具有指定文件扩展名的文件

【问题讨论】:

  • 尝试docs 中的示例。并尝试this 回答。

标签: python directory compression tar


【解决方案1】:

您可以使用tarfile 模块顶部打开tar.gz 文件,然后调用getmembers() 获取tar 文件成员。打开你想要的。

那些.tar.gz 成员应该被递归处理(很像你处理顶部文件)。唯一的区别是您可能需要将类文件对象传递给 TarFile.open 而不是文件名。

【讨论】:

  • 并不是说我在 tar 中只有 tar 文件,它可以是任何压缩。我尝试过递归遍历,但我的 Python 脚本有时会失败
  • 你需要处理你想要支持的各种压缩。至于递归失败 - 你可能有一个错误。
猜你喜欢
  • 2023-03-28
  • 1970-01-01
  • 2013-01-08
  • 1970-01-01
  • 2010-11-09
  • 1970-01-01
  • 1970-01-01
  • 2019-06-19
相关资源
最近更新 更多