Запись и чтение байтов в памяти (BytesIO) дает пустой результат
Я хотел попробовать класс Python BytesIO.
В качестве эксперимента я попытался записать в память zip-файл, а затем прочитать байты из этого zip-файла. Поэтому вместо передачи файла-объектаgzip
Прохожу вBytesIO
объект. Вот весь сценарий:
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)
Но возвращается пустойbytes
объект дляresult
, Это происходит как в Python 2.7, так и в 3.4. Что мне не хватает?