Pythons Zipfile-Bibliothek verwenden?
~/wrk/tmp$ ls test.zip
ls: cannot access test.zip: No such file or directory
OK. Derzeit gibt es keine 'test.zip' ...
~/wrk/tmp$ python -c 'import zipfile,sys ; zipfile.ZipFile(sys.argv[1],"a").write(sys.a
rgv[2],sys.argv[3])' test.zip /etc/motd text/motd
Fügen wir '/ etc / motd' als 'text / motd' zur nicht existierenden Zip-Datei hinzu ...
~/wrk/tmp$ ls -l test.zip
-rw-r--r-- 1 yeti yeti 473 Mar 23 09:51 test.zip
Die zipfile-Bibliothek war nett genug, um 'test.zip' zu erstellen.
~/wrk/tmp$ unzip -lv test.zip
Archive: test.zip
Length Method Size Cmpr Date Time CRC-32 Name
-------- ------ ------- ---- ---------- ----- -------- ----
357 Stored 357 0% 2014-03-20 15:47 ff1b8b7f text/motd
-------- ------- --- -------
357 357 0% 1 file
..und es scheint zu enthalten, was ich wollte ...
Lassen Sie es uns überprüfen, indem Sie es auf stdout entpacken ...
~/wrk/tmp$ unzip -p test.zip text/motd
Linux aurora 3.2.0-0.bpo.4-amd64 #1 SMP Debian 3.2.54-2~bpo60+1 x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Fein!
Jetzt fügen wir eine 2. Datei hinzu ...
~/wrk/tmp$ python -c 'import zipfile,sys ; zipfile.ZipFile(sys.argv[1],"a").write(sys.argv[2],sys.argv[3])' test.zip /etc/issue otherdir/issue
~/wrk/tmp$ ls -l test.zip
-rw-r--r-- 1 yeti yeti 605 Mar 23 09:52 test.zip
(yeti@aurora:1)~/wrk/tmp$ unzip -lv test.zip
Archive: test.zip
Length Method Size Cmpr Date Time CRC-32 Name
-------- ------ ------- ---- ---------- ----- -------- ----
357 Stored 357 0% 2014-03-20 15:47 ff1b8b7f text/motd
28 Stored 28 0% 2012-09-21 22:52 f9c3990c otherdir/issue
-------- ------- --- -------
385 385 0% 2 files
~/wrk/tmp$ unzip -p test.zip otherdir/issue Debian GNU/Linux 6.0 \n \l
~/wrk/tmp$ _
mkdir
Befehle kürzen , mitmkdir -p very/many/paths
denen nach Bedarf übergeordnete Verzeichnisse erstellt werden. ;)