python - Python中的二进制缓冲区

标签 python binary io buffer

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

相关文章:

c# - 将 c# DateTime.Now 转换为二进制

python - 排序 os.listdir 文件 Python

c++ - 如何使用 ifstream (C++) 只读取一些以前知道的行

从数据中删除所有二进制变量

Java:二分搜索实现无法使用延迟相等检测来工作

c - 如何正确使用 EOF?

python - PySide2 复合小部件悬停效果

python - 如何在 Python C-API 中动态创建派生类型

python - Django:使用自定义中间表时如何限制_choices_to

python - 如何打开包含 Unicode 字符的 html 文件?