我有一个程序可以通过exec
运算符即时执行代码。
是否有一种方法可以像使用return
那样使用函数来停止使用一个运算符执行代码?
我尝试使用return
和break
,但是没有运气。
condition = True
my_code = """
print ("foo")
if condition:
return # this is not working
print ("bar")
"""
exec(my_code)
对此的可能解决方案是将条件块加深一个缩进量。
my_code = """
print ("foo")
if not condition:
print ("bar")
"""
但是,这在我看来并不整洁。尤其是在执行的代码中有多个端点的情况下。
答案 0 :(得分:-1)
您可以继承Exception
的子类:
class StopExec(Exception):
pass
要退出raise StopExec
代码块,请在代码中使用exec
。