Когда следует использовать BytesIO .getvalue () вместо .getbuffer ()? - PullRequest
0 голосов
/ 20 апреля 2020

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