...

/

ExitStack and Reentrant Context Managers

ExitStack and Reentrant Context Managers

Let's talk about how ExitStack and Reentrant context managers can be helpful.

About ExitStack

ExitStack is a context manager that will allow you to easily combine other context managers and cleanup functions programmatically.

Simple example of ExitStack

It sounds kind of confusing at first, so let’s take a look at an example from the Python documentation to help us understand this idea a bit better:

Press + to interact
from contextlib import ExitStack
filenames = []
with ExitStack() as stack:
file_objects = [stack.enter_context(open(filename))
for filename in filenames]

This code basically creates a series of context managers inside the ...