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

Метод memoryview.release() в Python, примеры кода

Освободить базовый буфер

Синтаксис:

memoryview.release()

Параметры:

Возвращаемое значение:

  • нет

Описание:

Метод memoryview.release() освободит базовый буфер, открытый объектом memoryview.

Многие объекты выполняют специальные действия, когда на них удерживается представление, например bytearray временно запрещает изменение размера. Поэтому вызов memoryview.release() удобен для удаления этих ограничений и освобождения любых зависших ресурсов.

После вызова этого метода любая дальнейшая операция над представлением вызывает ValueError кроме самого memoryview.release(), который может быть вызван несколько раз:

>>> m = memoryview(b'abc')
>>> m.release()
>>> m[0]
# Traceback (most recent call last):
#   File "<stdin>", line 1, in <module>
# ValueError: operation forbidden on released memoryview object

Протокол управления контекстом может быть использован для аналогичного эффекта, используя инструкцию with:

>>> with memoryview(b'abc') as m:
...     m[0]
...
# 97
>>> m[0]
# Traceback (most recent call last):
#   File "<stdin>", line 1, in <module>
# ValueError: operation forbidden on released memoryview object