Python Context Managers Explained with the with Statement