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