擅长:python、mysql、java
<p>是的,您可以很容易地创建这样一个上下文管理器,如下所示。在</p>
<pre><code>import contextlib
@contextlib.contextmanager
def SomeContext(args):
if some_condition(args):
f1()
else:
yield
</code></pre>
<p>用户的包装代码在<code>yield</code>处执行。我不认为上下文管理器有时不执行用户代码是个问题,但我没有检查过。在</p>