最佳答案
我想试试 python BytesIO 类。
作为一个实验,我尝试在内存中写入一个 zip 文件,然后从该 zip 文件中读取字节。因此,我没有将 file-object 传递给 gzip
,而是传递了 BytesIO
对象。整个剧本如下:
from io import BytesIO
import gzip
# write bytes to zip file in memory
myio = BytesIO()
with gzip.GzipFile(fileobj=myio, mode='wb') as g:
g.write(b"does it work")
# read bytes from zip file in memory
with gzip.GzipFile(fileobj=myio, mode='rb') as g:
result = g.read()
print(result)
但是它为 result
返回一个空的 bytes
对象。这在 Python 2.7和3.4中都会发生。我错过了什么?