Python - IO error: not a gzipped file

   
Vista:

IO error: not a gzipped file

Publicado por ariel sortino (2 intervenciones) el 25/04/2014 04:48:11
hola que tal, estoy programando un juego rpg basado en pygame, tengo un problema al cargar el mapa, luego de ingresar al archivo xml del mismo, tengo que decodificar y descomprimir la capa, la funcion:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def decode(cadena):
    # Decodificar.
    cadena = base64.decodestring(cadena)
 
    # Descomprimir.
    copmressed_stream = StringIO.StringIO(cadena)
    gzipper = gzip.GzipFile(fileobj=copmressed_stream)
    cadena = gzipper.read()
 
    # Convertir.
    salida = []
    for idx in xrange(0, len(cadena), 4):
        val = ord(str(cadena[idx])) | (ord(str(cadena[idx + 1])) << 8) | \
        (ord(str(cadena[idx + 2])) << 16) | (ord(str(cadena[idx + 3])) << 24)
        salida.append(val)
 
    return salida

el error me lo tira en cadena = gzipper.read(), esto lo saque de una pagina llamada razonartificial donde al tipo le funciona, no entiendo cual es el error, desde ya gracias(ni importa como se vea el codigo, esta bien tabulado)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

IO error: not a gzipped file

Publicado por xve (1235 intervenciones) el 25/04/2014 12:17:29
Hola Ariel, el problema que tienes, es que gzipper.read(), intenta leer de un archivo comprimido con gz, al no estar comprimido con gzip da el error.

el parametro pasado a la función (cadena), que es? un nombre de un archivo en base64?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

IO error: not a gzipped file

Publicado por ariel sortino (2 intervenciones) el 27/04/2014 08:29:33
hola que tal, recien veo tu respuesta, tenias razon me di cuenta bastante tarde lo tenia comprimido como zlib xD
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar