<p>我想试试python BytesIO类。</p>
<p>作为一个实验,我尝试在内存中写入一个zip文件,然后从该zip文件中读取字节。因此,我没有向<code>gzip</code>传递文件对象,而是传入<code>BytesIO</code>对象。以下是整个脚本:</p>
<pre><code>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)
</code></pre>
<p>但它正在为<code>result</code>返回一个空的<code>bytes</code>对象。这在Python2.7和3.4中都会发生。我错过了什么?</p>