zipファイル操作メモ

zipファイルを展開する

#!/usr/bin/env python
# -*- coding utf-8 -*-
# unzip.py

import sys
import zipfile

for zipname in sys.argv[1:]:
    z = zipfile.ZipFile(zipname)
    for filename in z.namelist():
        outfile = file(filename, "w")
        outfile.write(z.read(filename))
        outfile.close()

複数のファイルからzipファイルを作成(アーカイブ)する

#!/usr/bin/env python
# -*- coding utf-8 -*-
# zip.py createfile.zip input1.txt input2.txt input3.txt ....

import sys
import zipfile

zfile = zipfile.ZipFile(sys.argv[1], "w")
for i in sys.argv[2:]:
   zfile.write(i)

zfile.close()

zipファイルの内容一覧を表示する

#!/usr/bin/env python
# -*- coding utf-8 -*-
# zipshow.py file.zip

import sys
import zipfile

zfile = zipfile.ZipFile(sys.argv[1])
zfile.printdir()
zfile.close()

使い方

touch a.txt b.txt c.txt
python zip.py aaa.zip a.txt b.txt c.txt
# aaa.zipが作られたことを確認
ls
aaa.zip a.txt b.txt c.txt
# z.zipの中身
python zipshow.py aaa.zip
# ファイル削除
rm a.txt b.txt c.txt
# 削除確認
ls 
aaa.zip
# zipファイルの展開
python unzip.py aaa.zip

# aaa.zipが展開されたことを確認
ls
aaa.zip a.txt b.txt c.txt

solaris10に入っているのは、python 2.4.4 とかで、、、まぁこういう使い方ができることを知ってて損は無いとおもう。
かなり、この辺を参考にさせていただいた。