我正在编写一个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()
。为什么我会收到此错误,我该如何解决?
答案 0 :(得分:-1)
添加异常捕获,例如try ...除了......会很好。你可以确保你的测试文件类型是由shell命令gzip作为icktoofay。 Certianly,命令'file test.gzip'将起作用。