我有一个tar文件,tar1.tar
,我想查看其中的文件,并将所有通过my_test
的文件放入另一个tar output.tar
。
我一直这样做,但我无法在新的tar中打开文件:
import tarfile
tar = open("tar1.tar")
passing_members = []
for member in tar.getmembers():
my_file = tar.extractfile(member)
if my_test(my_file.read()):
passing_members.append(member)
output_tar = tarfile.open("output.tar", "w|")
for member in passing_members:
output_tar.addfile(member)
output_tar.close()
tar.close()
我真的不明白会员是什么,我想我需要添加像member.extractfile()这样的东西而不是成员,但是我无法让它发挥作用。
我已经设法让它通过提取所有内容来处理测试文件,但是对于正确的文件来说需要很长时间。
事实上,我有很多tar文件,我想提取所有通过测试的文件,但如果我可以做一个我可以循环的文件。
我正在使用python 2.7