从tar中提取某些文件并将它们放入另一个文件中

时间:2016-07-08 15:47:12

标签: python tarfile

我有一个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

0 个答案:

没有答案