2017-11-03 6 views
2

PythonでGZIPを使用したUtf8 String Codecを使用してすべての文字列を保存したいと思います。Pythonを使って文字列を圧縮し、赤字で保存する方法

以下のコードを試しましたが、圧縮が正しく行われていません。私はここに何が欠けているのか分からない。 gzip圧縮手法を使ってデータを赤字に挿入する方法。 Redisの内に挿入した後

それだけでD49

import redis 
import StringIO 
import gzip 

r = redis.StrictRedis(host='127.0.0.1, port=80, db=0,decode_responses=True) 

out = StringIO.StringIO() 
with gzip.GzipFile(fileobj=out, mode="w") as f: 
    value = f.write("this is my test value) 
    r.set('test', value) 

のようないくつかの番号を印刷するには、事前にあなたの助けに感謝しました!

ありがとう

答えて

1

gzipのcompress()メソッドを直接使用できます。

あなたがファイルを圧縮しようとしている場合は、直接テキスト文字列、

import redis 
import StringIO 
import gzip 

r = redis.StrictRedis(host='127.0.0.1, port=80, db=0,decode_responses=True) 
text = "this is my test value" 
value = gzip.compress(text.encode()) 
r.set('test', value) 

を圧縮している場合は、使用しているPythonのバージョン

import redis 
import StringIO 
import gzip 

r = redis.StrictRedis(host='127.0.0.1, port=80, db=0,decode_responses=True) 
fp = open('text.txt', 'rb') 
value = gzip.compress(fp.read()) 
fp.close() 
r.set('test', value) 
+0

?それはPython 3.5で動作しています。 – daemon24

関連する問題