递归遍历tar文件,提取指定扩展名的所有文件
Posted
技术标签:
【中文标题】递归遍历tar文件,提取指定扩展名的所有文件【英文标题】:Traverse tar file recursively and extract all files with specified extension 【发布时间】:2019-08-01 11:41:05 【问题描述】:我有一个 tar.gz 文件,其中包含文件、文件夹和其他 tar.gz 文件的层次结构。
我不知道目录结构的深度,它会因文件而异
我想知道一种编写 Python 脚本的方法,该脚本将遍历所有压缩文件并提取具有指定文件扩展名的文件
【问题讨论】:
尝试docs 中的示例。并尝试this 回答。 【参考方案1】:您可以使用tarfile
模块顶部打开tar.gz 文件,然后调用getmembers()
获取tar 文件成员。打开你想要的。
那些.tar.gz
成员应该被递归处理(很像你处理顶部文件)。唯一的区别是您可能需要将类文件对象传递给 TarFile.open
而不是文件名。
【讨论】:
并不是说我在 tar 中只有 tar 文件,它可以是任何压缩。我尝试过递归遍历,但我的 Python 脚本有时会失败 你需要处理你想要支持的各种压缩。至于递归失败 - 你可能有一个错误。以上是关于递归遍历tar文件,提取指定扩展名的所有文件的主要内容,如果未能解决你的问题,请参考以下文章