我可以使用 python 的 tar 文件包将快速查找索引存储到 tar 文件吗?

Can I store a fast-lookup index to a tar file using python's tarfile package?

我有一个很大的 tar 存档并且正在使用 python (3.6+) 和 tarfile 包。

如果我使用 tar_info = tarfile.getmember(filename) 然后我可以调用 tarfile.extract(tar_info),但是对 extract 的调用很慢,似乎是在扫描文件,在大型存档上花费了很多分钟。

我看到 tar_info 对象中有一个偏移量,所以这似乎应该是一个快速的查找和读取操作。

我想知道是否有一种方法可以将索引存储到 tar 文件中,以便 它是 快速查找和读取操作以提取任何特定的文件,因为我在 tar 文件之外索引了必要的信息。

John Szakmeister 在评论中回答了这个 superuser.com 问题,谢谢!

https://superuser.com/questions/655739/extract-single-file-from-huge-tgz-file/655802#655802

简短回答:如果您启用压缩,它会在 tar 存档中流式传输,而不是每个文件,所以答案是否定的。