Сообщить об ошибке.

Класс io.BytesIO() модуля io в Python.

Поток, использующий буфер байтов в памяти.

Синтаксис:

import io

fp = io.BytesIO([initial_bytes])

Описание:

Класс io.BytesIO() реализация потока, использующая буфер байтов в памяти. Класс io.BytesIO наследует io.BufferedIOBase. Буфер отбрасывается при вызове метода close().

Необязательный аргумент initial_bytes является байтовоподобным объектом, который содержит исходные данные.

Класс io.BytesIO наследует атрибуты и методы от классов io.BufferedIOBase и io.IOBase, а так же дополнительно предоставляет несколько методов.

Смотрите пример использования.

Дополнительные методы класса io.BytesIO:

fp.getbuffer():

Метод fp.getbuffer() возвращает доступное для чтения и записи представление содержимого буфера без его копирования. Кроме того, изменение представления прозрачно обновит содержимое буфера::

>>> import io
>>> b = io.BytesIO(b"abcdef")
>>> view = b.getbuffer()
>>> view[2:4] = b"56"
>>> b.getvalue()
# b'ab56ef'

Заметка пока существует представление, объект BytesIO не может быть изменен или закрыт.

fp.getvalue():

Метод fp.getvalue() возвращает bytes, содержащие все содержимое буфера.

fp.read1([size]):

Метод fp.read1() прочитает и вернет до размера size байтов. Если аргумент опущен или отрицателен, данные считываются и возвращаются до достижения EOF. Возвращается пустой bytes объект если поток уже находится в EOF.

Если аргумент положителен, а лежащий в основе необработанный поток не является интерактивным, может быть выдано несколько необработанных считываний для удовлетворения количества байтов (если EOF не достигнут первым). Но для интерактивных необработанных потоков будет выполнено не более одного необработанного чтения и результат меньший size не означает, что это EOF.

Возникает исключение io.BlockingIOError, если базовый необработанный поток находится в неблокирующем режиме и в данный момент не имеет доступных данных.

fp.readinto1(b):

Метод fp.readinto1() считывает байты в заранее выделенный, доступный для записи байтоподобный объект b и возвращает количество прочитанных байтов. Например b может быть bytearray.

Как и метод read(), в основной необработанный поток может быть выдано несколько операций чтения, если только последний не является интерактивным.

Возникает исключение io.BlockingIOError, если базовый необработанный поток находится в неблокирующем режиме и в данный момент не имеет доступных данных.