Package duplicity :: Module tarfile :: Class TarFile
[hide private]
[frames] | no frames]

Class TarFile

source code


The TarFile Class provides an interface to tar archives.

Nested Classes [hide private]
  tarinfo
Informational class which holds the details about an archive member given by a tar header block.
  fileobject
File-like object for reading an archive member.
Instance Methods [hide private]
 
__init__(self, name=None, mode='r', fileobj=None, format=None, tarinfo=None, dereference=None, ignore_zeros=None, encoding=None, errors=None, pax_headers=None, debug=None, errorlevel=None)
Open an (uncompressed) tar archive `name'.
source code
 
_getposix(self) source code
 
_setposix(self, value) source code
 
close(self)
Close the TarFile.
source code
 
getmember(self, name)
Return a TarInfo object for member `name'.
source code
 
getmembers(self)
Return the members of the archive as a list of TarInfo objects.
source code
 
getnames(self)
Return the members of the archive as a list of their names.
source code
 
gettarinfo(self, name=None, arcname=None, fileobj=None)
Create a TarInfo object for either the file `name' or the file object `fileobj' (using os.fstat on its file descriptor).
source code
 
list(self, verbose=True)
Print a table of contents to sys.stdout.
source code
 
add(self, name, arcname=None, recursive=True, exclude=None, filter=None)
Add the file `name' to the archive.
source code
 
addfile(self, tarinfo, fileobj=None)
Add the TarInfo object `tarinfo' to the archive.
source code
 
extractall(self, path='.', members=None)
Extract all members from the archive to the current working directory and set owner, modification time and permissions on directories afterwards.
source code
 
extract(self, member, path='')
Extract a member from the archive to the current working directory, using its full name.
source code
 
extractfile(self, member)
Extract a member from the archive as a file object.
source code
 
_extract_member(self, tarinfo, targetpath)
Extract the TarInfo object tarinfo to a physical file called targetpath.
source code
 
makedir(self, tarinfo, targetpath)
Make a directory called targetpath.
source code
 
makefile(self, tarinfo, targetpath)
Make a file called targetpath.
source code
 
makeunknown(self, tarinfo, targetpath)
Make a file from a TarInfo object with an unknown type at targetpath.
source code
 
makefifo(self, tarinfo, targetpath)
Make a fifo called targetpath.
source code
 
makedev(self, tarinfo, targetpath)
Make a character or block device called targetpath.
source code
 
makelink(self, tarinfo, targetpath)
Make a (symbolic) link called targetpath.
source code
 
chown(self, tarinfo, targetpath)
Set owner of targetpath according to tarinfo.
source code
 
chmod(self, tarinfo, targetpath)
Set file permissions of targetpath according to tarinfo.
source code
 
utime(self, tarinfo, targetpath)
Set modification time of targetpath according to tarinfo.
source code
 
next(self)
Return the next member of the archive as a TarInfo object, when TarFile is opened for reading.
source code
 
_getmember(self, name, tarinfo=None, normalize=False)
Find an archive member by name from bottom to top.
source code
 
_load(self)
Read through the entire archive file and look for readable members.
source code
 
_check(self, mode=None)
Check if TarFile is still open, and if the operation's mode corresponds to TarFile's mode.
source code
 
_find_link_target(self, tarinfo)
Find the target member of a symlink or hardlink member in the archive.
source code
 
__iter__(self)
Provide an iterator object.
source code
 
_dbg(self, level, msg)
Write debugging output to sys.stderr.
source code
 
__enter__(self) source code
 
__exit__(self, type, value, traceback) source code

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Methods [hide private]
 
open(cls, name=None, mode='r', fileobj=None, bufsize=10240, **kwargs)
Open a tar archive for reading, writing or appending.
source code
 
taropen(cls, name, mode='r', fileobj=None, **kwargs)
Open uncompressed tar archive name for reading or writing.
source code
 
gzopen(cls, name, mode='r', fileobj=None, compresslevel=9, **kwargs)
Open gzip compressed tar archive name for reading or writing.
source code
 
bz2open(cls, name, mode='r', fileobj=None, compresslevel=9, **kwargs)
Open bzip2 compressed tar archive name for reading or writing.
source code
Class Variables [hide private]
  debug = 0
  dereference = False
  ignore_zeros = False
  errorlevel = 1
  format = 1
  encoding = 'UTF-8'
  errors = None
hash(x)
  OPEN_METH = {'bz2': 'bz2open', 'gz': 'gzopen', 'tar': 'taropen'}
Properties [hide private]
  posix

Inherited from object: __class__

Method Details [hide private]

__init__(self, name=None, mode='r', fileobj=None, format=None, tarinfo=None, dereference=None, ignore_zeros=None, encoding=None, errors=None, pax_headers=None, debug=None, errorlevel=None)
(Constructor)

source code 

Open an (uncompressed) tar archive `name'. `mode' is either 'r' to read from an existing archive, 'a' to append data to an existing file or 'w' to create a new file overwriting an existing one. `mode' defaults to 'r'. If `fileobj' is given, it is used for reading or writing data. If it can be determined, `mode' is overridden by `fileobj's mode. `fileobj' is not closed, when TarFile is closed.

Overrides: object.__init__

open(cls, name=None, mode='r', fileobj=None, bufsize=10240, **kwargs)
Class Method

source code 

Open a tar archive for reading, writing or appending. Return an appropriate TarFile class.

mode: 'r' or 'r:*' open for reading with transparent compression 'r:' open for reading exclusively uncompressed 'r:gz' open for reading with gzip compression 'r:bz2' open for reading with bzip2 compression 'a' or 'a:' open for appending, creating the file if necessary 'w' or 'w:' open for writing without compression 'w:gz' open for writing with gzip compression 'w:bz2' open for writing with bzip2 compression

'r|*' open a stream of tar blocks with transparent compression 'r|' open an uncompressed stream of tar blocks for reading 'r|gz' open a gzip compressed stream of tar blocks 'r|bz2' open a bzip2 compressed stream of tar blocks 'w|' open an uncompressed stream for writing 'w|gz' open a gzip compressed stream for writing 'w|bz2' open a bzip2 compressed stream for writing

gzopen(cls, name, mode='r', fileobj=None, compresslevel=9, **kwargs)
Class Method

source code 

Open gzip compressed tar archive name for reading or writing. Appending is not allowed.

bz2open(cls, name, mode='r', fileobj=None, compresslevel=9, **kwargs)
Class Method

source code 

Open bzip2 compressed tar archive name for reading or writing. Appending is not allowed.

close(self)

source code 

Close the TarFile. In write-mode, two finishing zero blocks are appended to the archive.

getmember(self, name)

source code 

Return a TarInfo object for member `name'. If `name' can not be found in the archive, KeyError is raised. If a member occurs more than once in the archive, its last occurrence is assumed to be the most up-to-date version.

getmembers(self)

source code 

Return the members of the archive as a list of TarInfo objects. The list has the same order as the members in the archive.

getnames(self)

source code 

Return the members of the archive as a list of their names. It has the same order as the list returned by getmembers().

gettarinfo(self, name=None, arcname=None, fileobj=None)

source code 

Create a TarInfo object for either the file `name' or the file object `fileobj' (using os.fstat on its file descriptor). You can modify some of the TarInfo's attributes before you add it using addfile(). If given, `arcname' specifies an alternative name for the file in the archive.

list(self, verbose=True)

source code 

Print a table of contents to sys.stdout. If `verbose' is False, only the names of the members are printed. If it is True, an `ls -l'-like output is produced.

add(self, name, arcname=None, recursive=True, exclude=None, filter=None)

source code 

Add the file `name' to the archive. `name' may be any type of file (directory, fifo, symbolic link, etc.). If given, `arcname' specifies an alternative name for the file in the archive. Directories are added recursively by default. This can be avoided by setting `recursive' to False. `exclude' is a function that should return True for each filename to be excluded. `filter' is a function that expects a TarInfo object argument and returns the changed TarInfo object, if it returns None the TarInfo object will be excluded from the archive.

addfile(self, tarinfo, fileobj=None)

source code 

Add the TarInfo object `tarinfo' to the archive. If `fileobj' is given, tarinfo.size bytes are read from it and added to the archive. You can create TarInfo objects using gettarinfo(). On Windows platforms, `fileobj' should always be opened with mode 'rb' to avoid irritation about the file size.

extractall(self, path='.', members=None)

source code 

Extract all members from the archive to the current working directory and set owner, modification time and permissions on directories afterwards. `path' specifies a different directory to extract to. `members' is optional and must be a subset of the list returned by getmembers().

extract(self, member, path='')

source code 

Extract a member from the archive to the current working directory, using its full name. Its file information is extracted as accurately as possible. `member' may be a filename or a TarInfo object. You can specify a different directory using `path'.

extractfile(self, member)

source code 

Extract a member from the archive as a file object. `member' may be a filename or a TarInfo object. If `member' is a regular file, a file-like object is returned. If `member' is a link, a file-like object is constructed from the link's target. If `member' is none of the above, None is returned. The file-like object is read-only and provides the following methods: read(), readline(), readlines(), seek() and tell()

makelink(self, tarinfo, targetpath)

source code 

Make a (symbolic) link called targetpath. If it cannot be created (platform limitation), we try to make a copy of the referenced file instead of a link.

next(self)

source code 

Return the next member of the archive as a TarInfo object, when TarFile is opened for reading. Return None if there is no more available.

_getmember(self, name, tarinfo=None, normalize=False)

source code 

Find an archive member by name from bottom to top. If tarinfo is given, it is used as the starting point.


Property Details [hide private]

posix

Get Method:
_getposix(self)
Set Method:
_setposix(self, value)