让我们说我们有一个tar文件,后者又包含多个gzip压缩文件。我希望能够在不压缩tar文件或单个gzip文件的情况下读取这些gzip文件的内容。我试图在python中使用tarfile模块。
答案 0 :(得分:1)
这可能有用,我还没有测试过,但这有主要的想法和相关的工具。它遍历tar中的文件,如果它们被gzip压缩,则将它们读入file_contents变量:
import tarfile as t
import gzip as g
for member in t.open("your.gz.tar").getmembers():
fo=t.extractfile(member)
file_contents = g.GzipFile(fileobj=fo).read()
注意:如果文件对于内存而言太大,那么请考虑将流式阅读器(块中的块)视为已链接。
如果你有基于成员(TarInfo)对象的其他逻辑,你可以使用这些:
请参阅: