在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/

10-10 13:57
查看更多