|
⇤ ← Revision 1 as of 2023-01-07 04:02:37
Size: 1078
Comment:
|
Size: 1204
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 50: | Line 50: |
| ---- == See also == [[https://docs.python.org/3/library/contextlib.html|Python contextlib module documentation]] |
Python ContextLib
contextlib is a module for working with context managers.
Contents
@ContextManager
To convert a function that yields a value into a context manager, try:
from contextlib import contextmanager
@contextmanager
def managed_resource():
resource = acquire_resource()
try:
yield resource
finally:
release_resource(resource)
with managed_resource() as resource:
...
Abstract Base Classes
The module contains two abstract base classes that can be used with isinstance or issubclass, and for type annotations
AbstractContextManager
Implements a simple __enter__() method (which returns self) and an abstract __exit__() method (which returns None).
AbstractAsyncContextManager
Implements a simple __aenter__() method (which returns self) and an abstract __aexit__() method (which returns None).
See also
Python contextlib module documentation
