challenge データの圧縮と展開

データを圧縮するcompress、展開するdecompressという関数やメソッドなどを書いてください。データはバイト列でもストリームでもそれ以外の形式でもOKです。

圧縮形式は問いませんが、できるだけ一般的なフォーマット(zip,lzhなど)でお願いします。

また、標準以外のライブラリを使う場合には出典の記載をお願いします。

「○○でも実用的な圧縮/展開プログラムがかけるんだぞ!」というのを、ぜひ示してください。

Posted feedbacks - Python

私がよく使うgzipモジュールです。GZ圧縮形式というんでしょうか。pickleと組み合わせてよく使います。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
from contextlib import closing
import gzip

def compress(path, data):
    with closing(gzip.open(path, "wb")) as io:
        io.write(data)

def decompress(path):
    with closing(gzip.open(path, "rb")) as io:
        return io.read()

if __name__ == '__main__':
    path = "a.txt.gz"
    compress(path, "foo\nbar\nbaz")
    print decompress(path)

Index

Feed

Other

Link

Pathtraq

loading...