Lets start with an example of a context manager.
This is code without a context manager:
f = open("test_file", "w") f.write("Test") f.close()
Converting it to context manager in python,
with open("test_file", "a") as f: f.write("test_write_from_context_manager\n")
Lets create a custom context manager.
Using the 4 step process in the diagram above above, any code can be converted in context manager.
Context managers can be used in situations when the code has the below structure:
Examples of context managers: