根据 BytesIO 文档:
看起来似乎 `getbuffer` 更加复杂。但是如果您不需要可写的视图呢?那么只需使用 `getvalue` 吗?两者之间有什么权衡之处?getbuffer()
返回一个可读写的视图,而不需要复制缓冲区的内容。同时,更改视图将透明地更新缓冲区的内容:
getvalue()
返回包含整个缓冲区内容的字节。
最小示例
在这个示例中,它们似乎完全相同:# Create an example
from io import BytesIO
bytesio_object = BytesIO(b"Hello World!")
# Write the stuff
with open("output.txt", "wb") as f:
f.write(bytesio_object.getbuffer())