Согласно документации 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())