我想停止对正在导入的模块的评估,而不停止整个程序。
下面是我想要实现的目标的一个例子:
main.py
print('main1') import testmodule print('main2')
testmodule.py
print(' module1') some_condition=True if some_condition: exit_from_module() # How to do this? print(' module2') # This line is not executed.
预期产量:
main1 module1 main2
您可以将模块代码包装在函数中,如下所示:
我的main.py是这样的
我的_module.py是这样的
输出是
没有好的方法可以停止模块的执行。您可以引发异常,但导入模块将需要处理它。也许只是这样重构:
更新:更好的方法是将模块更改为只定义函数和类,然后让调用者调用其中一个来执行他们需要完成的工作。
如果您真的想在导入期间完成所有这些工作(请记住,我认为最好不要这样做),那么您可以将模块更改为如下所示:
相关问题 更多 >
编程相关推荐