3
我想复制一个tar文件,其中删除了一些文件(基于它们的名称和可能的其他属性,如符号链接等)。由于我已经在python中打开了tar文件,所以我想在python中执行此操作。我知道TarFile.getmembers()返回一个TarInfo对象列表,而TarFile.addfile(tarinfo)接受一个TarInfo对象。但是当我把一个喂给另一个时,就会创建一个损坏的tar(没有错误)。将文件从一个tar文件添加到另一个python文件中
import tarfile
oldtar=tarfile.open('/tmp/old.tar',"r")
newtar=tarfile.open('/tmp/new.tar',"w")
for member in oldtar.getmembers():
if not member.name == 'dev/removeme.txt':
newtar.addfile(member)
else:
print "Skipped", member.name
newtar.close()
oldtar.close()
谢谢,这似乎为我做的。 – user2576471
@ user2576471,[接受答案](http://stackoverflow.com/help/accepted-answer) – falsetru