Я хотел бы сделать копию tar, с удаленными файлами (на основе их имени и, возможно, других свойств, таких как symlink или так). Поскольку у меня уже есть tar-файл, открытый в python, поэтому я хотел бы сделать это в python. Я понял, что TarFile.getmembers() возвращает список объектов TarInfo, а TarFile.addfile (tarinfo) принимает объект TarInfo. Но когда я кормлю один в другой, создается поврежденный tar (без ошибок).Добавить файлы из одного 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