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

2024-09-29 01:31:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个RPG游戏,所以我有一个函数load_map,通过一个XML映射,我必须对层进行解码和解压缩。代码如下:

# 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()。为什么我会遇到这个错误,我该如何修复它?在


Tags: 游戏readstream错误valrpgbase64str
1条回答
网友
1楼 · 发布于 2024-09-29 01:31:07

添加异常捕获,例如try…except。。。会很好的。通过shell命令icktoofay,您可以确保您的测试文件类型是gzip。当然,命令文件测试.gzip“会有用的。在

相关问题 更多 >