我想试试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)
但它正在为result
返回一个空的bytes
对象。这在Python2.7和3.4中都会发生。我错过了什么?
我们在这样的上下文中编写和读取gzip内容怎么样? 如果这个方法是好的,并且对你任何人都有用,请为这个答案+1,这样我就知道这个方法是对的,并且对其他人有用?
在写入初始内存文件后,您需要^{} 返回到文件的开头。。。
相关问题 更多 >
编程相关推荐