在 Python 中,您可以使用 StringIO用于字符数据的类似文件的缓冲区。 Memory-mapped file基本上对二进制数据做类似的事情,但它需要一个文件作为基础。 Python 是否有一个用于二进制数据且仅作为内存的文件对象,相当于 Java 的 ByteArrayOutputStream ?
我的用例是我想在内存中创建一个 ZIP 文件,并且 ZipFile需要一个类似文件的对象。
最佳答案
您可能正在寻找 io.BytesIO类(class)。它的工作原理与 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/