Python3 – gzipで圧縮・読み込み

このエントリーをはてなブックマークに追加
Pocket
LINEで送る

参考:http://docs.python.jp/3/library/gzip.html

gzip.openで、gzファイルを読み込めるっぽい。
with構文については、ここに詳しい説明があった。

圧縮

バイナリ文字列を圧縮する例

バイナリ文字列を数字でみてみたい。「Python バイナリデータ」に色々書いてあった。「Python 2 と Python 3 のユニコード文字列、バイト列の違いメモ」にも色々書いてあった。
b’hoge’というバイナリ文字列のイテレータは数値を返すらしい。

76 111 116 115 32 111 102 32 99 111 110 116 101 110 116 32 104 101 114 101

数字になった。というか、*の使い方知らなかった。イテレータを返すのかな?print()出だけ使えるのかな?page = *hogeとかやるとエラーになる。

76 111 116 115 32 111 102 32 99 111 110 116 101 110 116 32 104 101 114 101
31 139 8 0 158 81 118 88 2 255 243 201 47 41 86 200 79 83 72 206 207 43 73 205 43 81 200 72 45 74 5 0 126 117 32 142 20 0 0 0

圧縮したのに数字が増えている。数字が40個あるっぽいから倍になっている。同じ文字というか数字があると圧縮は効いてくるらしい。

97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97
31 139 8 0 172 82 118 88 2 255 75 76 196 4 0 206 139 111 38 20 0 0 0

短くなったけどまだ長い。

97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97
97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 9
7 97 97 97 97 97 97 97 97
31 139 8 0 13 83 118 88 2 255 75 76 164 61 0 0 100 122 112 175 100 0 0 0

おー圧縮された。

読み込み

圧縮されたファイルを読み込む例

このエントリーをはてなブックマークに追加
Pocket
LINEで送る

Be the first to commenton "Python3 – gzipで圧縮・読み込み"

Leave a comment

Your email address will not be published.


*