在Python中,您可以将StringIO用作字符数据的文件状缓冲区。 Memory-mapped file对于二进制数据基本上执行类似的操作,但是它需要一个用作基础的文件。 Python是否有一个仅用于二进制数据的文件对象,仅用于内存,相当于Java的ByteArrayOutputStream?
我的用例是我想在内存中创建一个ZIP文件,而ZipFile需要一个类似文件的对象。
最佳答案
您可能正在寻找io.BytesIO类。除了支持二进制数据外,它的工作原理与StringIO完全相同:
from io import BytesIO
bio = BytesIO(b"some initial binary data: \x00\x01")
StringIO将引发TypeError:
from io import StringIO
sio = StringIO(b"some initial binary data: \x00\x01")
关于python - Python中的二进制缓冲区,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25116/