In Python you can use StringIO for a file-like buffer for character data. Memory-mapped file basically does similar thing for binary data, but it requires a file that is used as the basis. Does Python have a file object that is intended for binary data and is memory only, equivalent to Java's ByteArrayOutputStream?
The use-case I have is I want to create a ZIP file in memory, and ZipFile requires a file-like object.
解决方案
You are probably looking for io.BytesIO class. It works exactly like StringIO except that it supports binary data:
from io import BytesIO
bio = BytesIO(b"some initial binary data: \x00\x01")
StringIO will throw TypeError:
from io import StringIO
sio = StringIO(b"some initial binary data: \x00\x01")
Python中的BytesIO类类似于StringIO,但用于处理二进制数据。当你需要在内存中创建ZIP文件等二进制文件时,BytesIO提供了一个文件对象接口。BytesIO允许你在没有实际磁盘文件的情况下,使用类似文件的操作进行读写操作,这对于处理 ZIP 文件等场景非常有用。
56

被折叠的 条评论
为什么被折叠?



