I am aware that the with
statement allows context managers to 'clean up after themselves', but other than the well known
with open("text.txt") as f:
data = f.read()
what uses does the with
statement have utilizing just the standard library, without creating custom context managers?