Uwe Mayer wrote:

Hi,

is it possible to delete a file from a tar-archive using the tarfile module?

Thanks
Uwe


It doesn't appear so. A workaround, of course, is to create a new file with the subset of files from the old file:

#!/usr/bin/env python

import tarfile
import os

def removeFile(filename, nameToDelete):
   """Remove nameToDelete from tarfile filename."""
   prefix, ext = os.path.splitext(filename)
   newFilename = '%(prefix)s-modified%(ext)s' % locals()
   original = tarfile.open(filename)
   modified = tarfile.open(newFilename, 'w')
   for info in original.getmembers():
       if info.name == nameToDelete:
           continue
       extracted = original.extractfile(info)
       if not extracted:
           continue
       modified.addfile(info, extracted)
   original.close()
   modified.close()

// m
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to