IO错误:不是python中的gzip压缩文件

时间:2014-04-25 03:09:16

标签: python

我正在编写一个RPG游戏,所以我有一个带有XML地图的函数load_map,我必须对该层进行解码和解压缩。这是代码:

# Decodifica una cadena en base64 y luego la descomprime.
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

错误在cadena=gzipper.read()。为什么我会收到此错误,我该如何解决?

1 个答案:

答案 0 :(得分:-1)

添加异常捕获,例如try ...除了......会很好。你可以确保你的测试文件类型是由shell命令gzip作为icktoofay。 Certianly,命令'file test.gzip'将起作用。