memoryview.release()
memoryview
- объект памяти буфера обмена.Метод 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