How Python’s context managers help you clean up after yourself