Escribir y leer bytes en memoria (BytesIO) da un resultado en blanco
Quería probar la clase Python BytesIO.
Como experimento, intenté escribir en un archivo zip en la memoria y luego leer los bytes de nuevo de ese archivo zip. Entonces, en lugar de pasar un archivo-objeto agzip
, Paso en unBytesIO
objeto. Aquí está el guión completo:
from io import BytesIO
import gzip
# write bytes to zip file in memory
myio = BytesIO()
g = gzip.GzipFile(fileobj=myio, mode='wb')
g.write(b"does it work")
g.close()
# read bytes from zip file in memory
g = gzip.GzipFile(fileobj=myio, mode='rb')
result = g.read()
g.close()
print(result)
Pero está devolviendo un vacíobytes
objeto pararesult
. Esto sucede en Python 2.7 y 3.4. ¿Qué me estoy perdiendo?