Синтаксис Python: менеджер контекста (with) - подборка интересных ссылок

Менеджеры контекста — это механизм стоящий за ключевым словом with.

Ключевое слово with появилось еще в Python 2.5 (через __future__). Такая конструкция пришла на смену концепту setup..try..except..finally

Если раньше писали

try:
    file = open('text.txt', 'r')
    file.read()
except ...

То сейчас

with open('text.txt', 'r') as fio:
    fio.read()

За этим изменением стоит много, но повторять ...

more ...

Синтаксис Python: with ... as

Конструкция with ... as используется для оборачивания выполнения блока инструкций менеджером контекста. Иногда это более удобная конструкция, чем try...except...finally.

Синтаксис конструкции with ... as:

"with" expression ["as" target] ("," expression ["as" target])* ":"
    suite

Теперь по порядку о том, что происходит при выполнении данного блока:

  • Выполняется выражение в конструкции with ... as.
  • Загружается специальный метод __exit__ для дальнейшего использования.
  • Выполняется метод __enter__. Если ...
more ...