Je voulais faire une sauvegarde, donc sur Google [python + répertoire + compression] rechercher. Notez que Zubari n'a pas atteint le sommet de la recherche.
tar_dir.py
import tarfile
#Nom du répertoire
dir_name = 'data'
#Nom du fichier compressé
tar_name = dir_name + '.tar.gz'
#Processus de compression
archive = tarfile.open(tar_name, mode='w:gz')
archive.add(dir_name)
archive.close()
Si vous spécifiez un répertoire, vous pouvez compresser le répertoire.
Ces répertoires peuvent être compressés. data/ ├ mydir/ │ ├ nestdir/ │ │ ├ aaa.txt │ │ ├ bbb.txt │ │ └ foo.csv │ ├ bar.csv │ ├ ccc.txt │ └ ddd.txt ├ eee.txt ├ fff.txt └ hoge.csv
Le tarfile a les modes suivants. (Enquête avec Python 3.5)
Syntaxe 1: filemode
Grammaire 2: filemode [: compression]
(pour une recherche aléatoire)
Grammaire 3: filemode [| compression]
(pour les flux)
Par défaut: r
mode | action |
---|---|
'r'Ou'r:*' | Transparent pour la méthode de compression, ouvert pour la lecture |
'r:' | Non compressé et ouvert à la lecture |
'r:gz' | Ouvrir pour la lecture avec la compression gzip |
'r:bz2' | Ouvrir en lecture avec la compression bzip2 |
'r:xz' | Ouvrir pour la lecture avec la compression LZMA |
'x'Ou'x:' | Créer un fichier tar exclusivement sans compression.FileExistsError si le fichier existe |
'x:gz' | Créer un fichier tar avec la compression gzip.FileExistsError si le fichier existe |
'x:bz2' | Créer un fichier tar avec la compression bzip2.FileExistsError si le fichier existe |
'x:xz' | Créer un fichier tar avec la compression lzma.FileExistsError si le fichier existe |
'a'Ou'a:' | Non compressé et ouvert pour l'ajout.Si le fichier n'existe pas, créez-en un nouveau |
'w'Ou'w:' | Non compressé et ouvert à l'écriture |
'w:gz' | Ouvrir pour l'écriture avec la compression gzip |
'w:bz2' | Ouvrir pour l'écriture avec la compression bzip2 |
'w:xz' | Ouvrir pour l'écriture avec la compression lzma |
'r|*' | Flux ouvert de manière transparente pour la lecture concernant la méthode de compression |
'r|' | Ouvrir le flux non compressé pour la lecture |
'r|gz' | Ouvrez le flux compressé gzip pour la lecture |
'r|bz2' | Ouvrez le flux compressé bzip2 pour la lecture |
'r|xz' | Ouvrir le flux compressé lzma pour la lecture |
'w|' | Ouvrir un flux non compressé pour l'écriture |
'w|gz' | flux ouvert pour l'écriture |
'w|bz2' | flux ouvert pour l'écriture |
'w|xz' | flux ouvert pour l'écriture |
Vous pouvez archiver et compresser des répertoires à partir de la ligne de commande.
$ python -m tarfile -c tar_name.tar.gz dir_name/
Il change la méthode de compression en fonction de l'extension du fichier tar.
extension | Méthode de compression |
---|---|
.gz | gz |
.tgz | gz |
.xz | xz |
.txz | xz |
.bz2 | bz2 |
.tbz | bz2 |
.tbz2 | bz2 |
.tb2 | bz2 |
Liste des options de ligne de commande pour tarfile
option | フルoption | argument | Remarques |
---|---|---|---|
-v | --verbose | Le défaut est faux | |
-l | --list | <tarfile> | |
-e | --extract | <tarfile> <output_dir> | |
-c | --create | <name> <file> | |
-t | --test | <tarfile> |
Document original tarfile (lien)
Recommended Posts