我尝试了解上下文管理器。Peoples wtite等同于try...finally
块。
存在的能力是否可以使用上下文管理器写下代码?
def func():
try:
do_something1()
...
except Exception:
return False
do_something2()
return True
另一个单词,如果出现异常,我会停止切除func
。
def func():
with context()
do_something1()
...
do_something2()
return True
做:
class MyContextManager(object):
def __enter__(self):
do_something1()
def __exit__(self, type, value, traceback):
do_something2()
with MyContextManager():
func()