Python 在内存中通过tar归档来提取元数据?
我有几个tar档案需要在内存中提取/读取。问题是每个tar都包含许多ZIP归档,每个都包含唯一的XML文档 因此每个tar的结构如下:tar->directories->ZIPs->XMLPython 在内存中通过tar归档来提取元数据?,python,zip,tar,Python,Zip,Tar,我有几个tar档案需要在内存中提取/读取。问题是每个tar都包含许多ZIP归档,每个都包含唯一的XML文档 因此每个tar的结构如下:tar->directories->ZIPs->XML 显然,我可以手动提取一个TAR文件,但我有大约1000个TAR文件,每个文件大约3gb,每个文件包含大约6000个ZIP文件。我正在寻找一种方法来处理内存中的.tar存档,并提取每个ZIP的XML数据。有办法做到这一点吗 这应该是可行的,因为所有相关方法都有与磁盘无关的选项 这里有很多圈,让我们开始吧 对于每
显然,我可以手动提取一个TAR文件,但我有大约1000个TAR文件,每个文件大约3gb,每个文件包含大约6000个ZIP文件。我正在寻找一种方法来处理内存中的.tar存档,并提取每个ZIP的XML数据。有办法做到这一点吗 这应该是可行的,因为所有相关方法都有与磁盘无关的选项 这里有很多圈,让我们开始吧 对于每个tar归档:
将打开tar存档。()tarfile.open
- 在生成的
实例上调用TarFile
,以获取存档中包含的ZIP(或其他文件)列表。().getmembers
- 一旦您知道要查看哪个成员文件(即您的一个zip),请在
实例上调用TarFile
,以获取该zip的文件对象。().extractfile
- 用文件对象实例化一个新的
,以便打开zip文件,以便使用它。()zipfile.zipfile
- 在
实例上调用ZipFile
,以获取它包含的文件(包括XML文件)的列表。().infolist
- 在
实例上调用ZipFile
,以获取其中一个XML文件的文件对象。().open
- 现在,您有了一个与一个XML文件对应的文件对象。用它做任何你想做的事:
。读它,把它复制到某个地方的磁盘上,把它粘贴到
(),等等元素树中
将打开tar存档。()tarfile.open
- 在生成的
实例上调用TarFile
,以获取存档中包含的ZIP(或其他文件)列表。().getmembers
- 一旦您知道要查看哪个成员文件(即您的一个zip),请在
实例上调用TarFile
,以获取该zip的文件对象。().extractfile
- 用文件对象实例化一个新的
,以便打开zip文件,以便使用它。()zipfile.zipfile
- 在
实例上调用ZipFile
,以获取它包含的文件(包括XML文件)的列表。().infolist
- 在
实例上调用ZipFile
,以获取其中一个XML文件的文件对象。().open
- 现在,您有了一个与一个XML文件对应的文件对象。用它做任何你想做的事:
。读它,把它复制到某个地方的磁盘上,把它粘贴到
(),等等元素树中