Согласно документации BytesIO:
getbuffer()
Return доступный для чтения и записи просмотр содержимого буфера без его копирования. Кроме того, изменение представления прозрачно обновит содержимое буфера:
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())
Подробнее здесь: https://stackoverflow.com/questions/613 ... -getbuffer