ラベル 圧縮 の投稿を表示しています。 すべての投稿を表示
ラベル 圧縮 の投稿を表示しています。 すべての投稿を表示

2009年10月10日土曜日

文字列をzlibで圧縮、展開

# -*- coding: utf-8 -*-

import zlib

s = """このモジュールでは、データ圧縮を必要とするアプリケーションが zlib ライブラリを使って圧縮および解凍を行えるようにします。 zlib ライブラリ自体の Web ホームページは http://www.zlib.netです。 Pythonモジュールと zlib ライブラリの1.1.3より前のバージョンには互換性のない部分があることが知られています。1.1.3にはセキュリティホールが存在しますので、1.1.4以降のバージョンを利用することをお勧めします。

zlib の関数にはたくさんのオプションがあり、しばしば特定の順番で使う必要があります。このドキュメントでは順番のことについて全てを説明し尽くそうとはしていません。信頼できる情報が必要ならば http://www.zlib.net/manual.html にある zlib のマニュアルを参照するようにしてください。 """

c = zlib.compress(s)

dc = zlib.decompress(c)

print len(s)
print len(c)
print len(dc)

実行すると
943
533
943

詳細はドキュメントで

2009年10月5日月曜日

Zipアーカイブからモジュールをimportする

# -*- coding: utf-8 -*-

import sys

sys.path.insert(0, "example.zip")

# example.zip内にabc.pyがあるなら
import abc

詳細はドキュメントで

Zipでファイルを圧縮、展開

# -*- coding: utf-8 -*-

import zipfile

# 圧縮
zf = zipfile.ZipFile("src.zip", "w")
zf.write("abc.py", "src/abc.py")
zf.write("def.py", "src/def.py")
zf.close()

# 展開
zf = zipfile.ZipFile("src.zip", "r")
for name in zf.namelist():
    print zf.read(name)
zf.close()

詳細はドキュメントで