在python中导航大型tar.gz文件,而无需先将其解压缩

克劳德

我已经看到了这个问题,但是我还需要其他东西。

我的文件包含大量按变量名组织的文本文件(数十万个)。就像是

filename/maxvalue/IDXstation.txt     (with X that goes from 100000 to 200000)
filename/minvalue/IDXstation.txt  
filename/meanvalue/IDXstation.txt 

等等。问题是我没有readme.txt文件,该文件告诉我tar文件中有多少个文件夹,或者它们的命名方式(由我组成)(或每个文件夹中有多少个工作站)。现在我只需要阅读filename.tar.gz的结构并打印类似

filename/maxvalue/  
filename/minvalue/  
filename/meanvalue/

在开始提取文件之前,我需要阅读它的结构,因为我只对某些文件夹感兴趣,而不对所有文件夹感兴趣。

如果我用

for tarinfo in tar:
    print tarinfo.name

它会打印所有文件,它们有数十万个,我不希望这样,但是我不确定如何设置它。

杰夫斯

要在tar存档中打印顶级目录,例如,直到第二级:

#!/usr/bin/env python
import sys
import tarfile

with tarfile.open(sys.argv[1]) as archive:
    for member in archive:
        if member.isdir() and member.name.count('/') < 2:
            print(member.name)

用法:

$ print-top-level-dirs <tar-archive>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章