with statement is very helpful to simplify working with exception handling.
For example when working with files, each time we open a file, we must remember to close it.
with makes this process transparent.
Instead of writing:
filename = '/Users/flavio/test.txt' try: file = open(filename, 'r') content = file.read() print(content) finally: file.close()
You can write:
filename = '/Users/flavio/test.txt' with open(filename, 'r') as file: content = file.read() print(content)
In other words we have built-in implicit exception handling, as
close() will be called automatically for us.
with is not just helpful to work with files. The above example is just meant to introduce its capabilities.
Download my free Python Handbook!