Il modulo tarfile rende possibile le lettura e la creazione degli archivi tar. Ecco alcune caratteristiche:
[name[, mode [, fileobj[, bufsize]]]]) |
mode deve essere una stringa nella forma
'mododelfile[:compressione]'
, il valore predefinito è
'r'
. Ecco una lista completa delle combinazioni di mode:
mode | azione |
---|---|
'r' |
Apre in lettura con compressione trasparente (raccomandato). |
'r:' |
Apre in lettura esclusivamente senza compressione. |
'r:gz' |
Apre in lettura con compressione gzip. |
'r:bz2' |
Apre in lettura con compressione bzip2. |
'a' or 'a:' |
Apre per l'aggiunta senza compressione. |
'w' or 'w:' |
Apre in scrittura non compressa. |
'w:gz' |
Apre in scrittura compressa gzip. |
'w:bz2' |
Apre in scrittura compressa bzip2. |
Notare che 'a:gz'
o 'a:bz2'
non sono possibili. Se
mode non è adatto per aprire un certo file (compresso) in
lettura, verrà sollevata un'eccezione ReadError.
Usare mode 'r'
per evitarlo. Se un certo metodo di
compressione non è supportato, verrà sollevata un'eccezione
CompressionError.
Se viene specificato fileobj, esso viene usato come alternativa ad un oggetto file aperto per nome name.
Per scopi speciali, esiste un secondo formato per mode:
'mododelfile|[compressione]'
. open() restituirà
un oggetto TarFile che elabora i suoi dati come un flusso di
blocchi. Sul file non verrà eseguito alcun seek casuale. Se
passato, fileobj può essere qualsiasi oggetto che abbia
un metodo read() o write()
(a seconda della
modalità prescelta mode). bufsize specifica la
dimensione dei blocchi e il valore predefinito è 20 * 512
byte. Usare questa variante in combinazione con ad esempio
sys.stdin
, un oggetto file socket od un dispositivo a
nastro. In ogni caso, un oggetto TarFile del genere è
limitato per il fatto che non permette un accesso casuale, vedere
``Esempi'' (sezione 7.19.3).
Ecco le alternative dei modi disponibili adesso:
Modalità | azione |
---|---|
'r|' |
Apre un flusso di blocchi tar non compressi in lettura. |
'r|gz' |
Apre un flusso compresso gzip in lettura. |
'r|bz2' |
Apre un flusso compresso bzip2 in lettura. |
'w|' |
Apre un flusso non compresso in scrittura. |
'w|gz' |
Apre un flusso compresso gzip in scrittura. |
'w|bz2' |
Apre un flusso compresso bzip2 in scrittura. |
name) |
filename[, mode[, compression]]) |
== 2
.
Vedete anche: