使用python解压缩文件,并使用tarfile.extractall()python提取某些文件

问题描述 投票:0回答:1

我正在尝试使用tarfile.extractall()解压缩文件,以便可以通过使用可选参数'members'获得目录中图像的子集。

我有一个数组,其中包含我要在此处传递的所有要提取的文件的文件名,但据我了解,它们应该是TarInfo对象。如何将文件名数组转换为TarInfo对象数组?还是有更好的方法来做到这一点?

t = tarfile.open(filename, 'r')
t.extractall(out_dir, filearray)

python file tar
1个回答
0
投票

如果需要使用extractall,则首先需要生成与tarinfo匹配的filearray对象的列表

members = [ x for x in t.getmembers() if x.name in filearray]

然后您可以将其传递到extractall

t.extractall(out_dir, members)
© www.soinside.com 2019 - 2024. All rights reserved.