在python中,with可以理解为一个简化了的try-finally语句块:
>>>
>>>
>>> class testObject:
... def __enter__(self):
... print "enter invoked"
... return "hello"
... def __exit__(self, type, value, trace):
... print "exit invoked"
...
>>> def getObject():
... return testObject()
...
>>> with getObject() as o:
... print "do something with",o
...
enter invoked
do something with hello
exit invoked
>>>