I managed to do it with the gzip library only after saving the string to a
file and then opening and reading it
with gzip.open, but it's extremely ugly.
any suggestions ?
thanks!
~ B
trying again:
http://effbot.org/zone/consumer-gzip.htm
(GzipConsumer module)
interface code (based on john j. lee's posting):
from GzipConsumer import GzipConsumer
class stupid_gzip_consumer:
def __init__(self): self.data = []
def feed(self, data): self.data.append(data)
def gunzip(data):
c = stupid_gzip_consumer()
gzc = GzipConsumer(c)
gzc.feed(data)
gzc.close()
return "".join(c.data)
unzipped_data = gunzip(gzipped_data)
</F>
> I guess I really need some sort of library that will do a gzip decoding to
> a compressed string.
> assume that I have a gzipped_string_reply I got from an HTTP server, It'd
> be superb to have a gunzip class that takes it and return its decoded
> equivalent.
You could put your string in an cStringIO:
c_string= cStringIO.StringIO(compressed_string)
gzip_handle=gzip.GzipFile(fileobj=c)
gzip_handle.read()
HtH, Andreas
~B
----- Original Message -----
From: "Fredrik Lundh" <fre...@pythonware.com>
To: <pytho...@python.org>
Sent: Wednesday, July 30, 2003 7:47 PM
Subject: Re: how to gunzip a string ?
> Bill Loren wrote:
> > I guess I really need some sort of library that will do a gzip decoding
to a
> > compressed string.
> > assume that I have a gzipped_string_reply I got from an HTTP server,
> > It'd be superb to have a gunzip class that takes it and return its
decoded
> > equivalent.
> >
> > I managed to do it with the gzip library only after saving the string to
a
> > file and then opening and reading it
> > with gzip.open, but it's extremely ugly.
> >
> > any suggestions ?
>
> trying again:
>
> http://effbot.org/zone/consumer-gzip.htm
> (GzipConsumer module)
>
> interface code (based on john j. lee's posting):
>
> from GzipConsumer import GzipConsumer
>
> class stupid_gzip_consumer:
> def __init__(self): self.data = []
> def feed(self, data): self.data.append(data)
>
> def gunzip(data):
> c = stupid_gzip_consumer()
> gzc = GzipConsumer(c)
> gzc.feed(data)
> gzc.close()
> return "".join(c.data)
>
> unzipped_data = gunzip(gzipped_data)
>
> </F>
>
>
>
>
thanks
~ B