我尝试理解上下文管理器。人民认为它相当于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
答案 0 :(得分:0)
执行:
class MyContextManager(object):
def __enter__(self):
do_something1()
def __exit__(self, type, value, traceback):
do_something2()
with MyContextManager():
func()