Volevo provare la classe BytesIO python.Scrivere quindi leggere i byte in memoria (BytesIO) dà un risultato vuoto
Come esperimento ho provato a scrivere su un file zip in memoria, e quindi a leggere i byte di nuovo fuori da quel file zip. Quindi, invece di passare un oggetto file a gzip
, passo in un oggetto BytesIO
. Ecco l'intero script:
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)
Ma si restituisce un bytes
oggetto vuoto per result
. Questo accade sia in Python 2.7 che in 3.4. Cosa mi manca?
Grazie! Era così! – twasbrillig
Anche i buffer riempiti da matplotlib savefig() ne hanno bisogno prima che possano essere inviati da un server delle applicazioni. Grazie per finire ore di ricerca! – TomTom101