标签: python zip tar
我需要在内存中提取/读取多个tar档案。问题是每个tar包含许多ZIP存档,每个包含唯一的XML文档。
所以每个tar的结构如下:tar - > directories-> ZIPs-> XML
显然我可以手动提取单个TAR,但我有大约1000个TAR存档,每个存档大约3 GB,每个包含大约6000个ZIP存档。我正在寻找一种方法来处理内存中的.tar存档并提取每个ZIP的XML数据。有没有办法做到这一点?
答案 0 :(得分:0)
这应该是可行的,因为所有相关方法都有非磁盘相关的选项。
这里有很多循环,所以让我们深入挖掘。
对于每个tar存档:
tarfile.open
.getmembers
TarFile
对于tar档案中的每个zip:
.extractfile
zipfile.ZipFile
.infolist
ZipFile
对于zip中的每个XML文件:
.open
.read
ElementTree