Ich wollte ein Backup machen, also bei Google [Python + Verzeichnis + Komprimierung] suchen nach. Beachten Sie, dass Zubari bei der Suche nicht ganz oben angekommen ist.
tar_dir.py
import tarfile
#Verzeichnisname
dir_name = 'data'
#Komprimierter Dateiname
tar_name = dir_name + '.tar.gz'
#Komprimierungsprozess
archive = tarfile.open(tar_name, mode='w:gz')
archive.add(dir_name)
archive.close()
Wenn Sie ein Verzeichnis angeben, können Sie das Verzeichnis komprimieren.
Solche Verzeichnisse können komprimiert werden. data/ ├ mydir/ │ ├ nestdir/ │ │ ├ aaa.txt │ │ ├ bbb.txt │ │ └ foo.csv │ ├ bar.csv │ ├ ccc.txt │ └ ddd.txt ├ eee.txt ├ fff.txt └ hoge.csv
Das Tarfile hat die folgenden Modi. (Untersucht mit Python 3.5)
Syntax 1: filemode
Grammatik 2: Dateimodus [: Komprimierung]
(für zufällige Suche)
Grammatik 3: Dateimodus [| Komprimierung]
(für Streams)
Standard: r
mode | action |
---|---|
'r'Oder'r:*' | Transparent für die Komprimierungsmethode, offen zum Lesen |
'r:' | Unkomprimiert und offen zum Lesen |
'r:gz' | Zum Lesen mit gzip-Komprimierung öffnen |
'r:bz2' | Zum Lesen mit bzip2-Komprimierung geöffnet |
'r:xz' | Zum Lesen mit lzma-Komprimierung geöffnet |
'x'Oder'x:' | Erstellen Sie Tarfile ausschließlich ohne Kompression.FileExistsError, wenn die Datei vorhanden ist |
'x:gz' | Erstellen Sie Tarfile mit GZIP-Komprimierung.FileExistsError, wenn die Datei vorhanden ist |
'x:bz2' | Erstellen Sie ein Tarfile mit bzip2-Komprimierung.FileExistsError, wenn die Datei vorhanden ist |
'x:xz' | Erstellen Sie Tarfile mit lzma-Komprimierung.FileExistsError, wenn die Datei vorhanden ist |
'a'Oder'a:' | Unkomprimiert und zum Anhängen geöffnet.Wenn die Datei nicht vorhanden ist, erstellen Sie eine neue |
'w'Oder'w:' | Unkomprimiert und offen zum Schreiben |
'w:gz' | Zum Schreiben mit gzip-Komprimierung öffnen |
'w:bz2' | Zum Schreiben mit bzip2-Komprimierung geöffnet |
'w:xz' | Zum Schreiben mit lzma-Komprimierung öffnen |
'r|*' | Transparent offener Stream zum Lesen bezüglich der Komprimierungsmethode |
'r|' | Öffnen Sie den unkomprimierten Stream zum Lesen |
'r|gz' | Öffnen Sie den komprimierten gzip-Stream zum Lesen |
'r|bz2' | Öffnen Sie den komprimierten bzip2-Stream zum Lesen |
'r|xz' | Öffnen Sie den komprimierten lzma-Stream zum Lesen |
'w|' | Öffnen Sie den unkomprimierten Stream zum Schreiben |
'w|gz' | offener Stream zum Schreiben |
'w|bz2' | offener Stream zum Schreiben |
'w|xz' | offener Stream zum Schreiben |
Sie können Verzeichnisse über die Befehlszeile archivieren und komprimieren.
$ python -m tarfile -c tar_name.tar.gz dir_name/
Die Komprimierungsmethode wird entsprechend der Erweiterung der TAR-Datei umgeschaltet.
Erweiterung | Kompressionsverfahren |
---|---|
.gz | gz |
.tgz | gz |
.xz | xz |
.txz | xz |
.bz2 | bz2 |
.tbz | bz2 |
.tbz2 | bz2 |
.tb2 | bz2 |
Liste der Befehlszeilenoptionen für Tarfile
Möglichkeit | フルMöglichkeit | Streit | Bemerkungen |
---|---|---|---|
-v | --verbose | Der Standardwert ist False | |
-l | --list | <tarfile> | |
-e | --extract | <tarfile> <output_dir> | |
-c | --create | <name> <file> | |
-t | --test | <tarfile> |
Das echte Dokument tarfile (link)
Recommended Posts