我正在尝试使用tarfile.extractall()解压缩文件,以便可以通过使用可选参数'members'获得目录中图像的子集。
我有一个数组,其中包含我要在此处传递的所有要提取的文件的文件名,但据我了解,它们应该是TarInfo对象。如何将文件名数组转换为TarInfo对象数组?还是有更好的方法来做到这一点?
t = tarfile.open(filename, 'r')
t.extractall(out_dir, filearray)
如果需要使用extractall
,则首先需要生成与tarinfo
匹配的filearray
对象的列表
members = [ x for x in t.getmembers() if x.name in filearray]
然后您可以将其传递到extractall
t.extractall(out_dir, members)