The tarfile module makes it possible to read and create tar archives. Some facts and figures:
[name[, mode [, fileobj[, bufsize]]]]) |
mode has to be a string of the form 'filemode[:compression]'
,
it defaults to 'r'
. Here is a full list of mode combinations:
mode | action |
---|---|
'r' or 'r:*' |
Open for reading with transparent compression (recommended). |
'r:' |
Open for reading exclusively without compression. |
'r:gz' |
Open for reading with gzip compression. |
'r:bz2' |
Open for reading with bzip2 compression. |
'a' or 'a:' |
Open for appending with no compression. |
'w' or 'w:' |
Open for uncompressed writing. |
'w:gz' |
Open for gzip compressed writing. |
'w:bz2' |
Open for bzip2 compressed writing. |
Note that 'a:gz'
or 'a:bz2'
is not possible.
If mode is not suitable to open a certain (compressed) file for
reading, ReadError is raised. Use mode 'r'
to
avoid this. If a compression method is not supported,
CompressionError is raised.
If fileobj is specified, it is used as an alternative to a file object opened for name. It is supposed to be at position 0.
For special purposes, there is a second format for mode:
'filemode|[compression]'
. open() will return a
TarFile object that processes its data as a stream of
blocks. No random seeking will be done on the file. If given,
fileobj may be any object that has a read() or
write() method (depending on the mode).
bufsize specifies the blocksize and defaults to 20 *
512
bytes. Use this variant in combination with
e.g. sys.stdin
, a socket file object or a tape device.
However, such a TarFile object is limited in that it does
not allow to be accessed randomly, see ``Examples''
(section 12.5.3). The currently possible modes:
Mode | Action |
---|---|
'r|*' |
Open a stream of tar blocks for reading with transparent compression. |
'r|' |
Open a stream of uncompressed tar blocks for reading. |
'r|gz' |
Open a gzip compressed stream for reading. |
'r|bz2' |
Open a bzip2 compressed stream for reading. |
'w|' |
Open an uncompressed stream for writing. |
'w|gz' |
Open an gzip compressed stream for writing. |
'w|bz2' |
Open an bzip2 compressed stream for writing. |
name) |
filename[, mode[, compression]]) |
== 2
.
See Also: