Fix Python – What is the python “with” statement designed for?

I came across the Python with statement for the first time today. I’ve been using Python lightly for several months and didn’t even know of its existence! Given its somewhat obscure status, I thought it would be worth asking:

What is the Python with statement
designed to be used for?
What do
you use it for?
Are there any
gotchas I need to b….