我正在IPython(1.2.1)中运行一个脚本,如果某个条件不满足,我需要让它停止。我尝试使用exit()语句,但它的行为不符合预期。
以我称之为test.py
的以下脚本为例:
if(True):
print('Error')
exit()
print('Still here!')
当我使用
python test.py
运行它时,我得到以下结果:$python test.py
Error
然后,执行按预期终止。
但是如果我使用 run -i test.py
在ipython中运行它,则会得到以下结果:
In [1]: run -i test.py
Error
Still here!
最后,ipython的执行被终止。问题是,在这种情况下,第二个打印语句仍然被执行,而我需要脚本的执行在遇到exit()语句时立即停止。 为什么会出现这种情况,我该如何获得我想要的结果?(我正在运行python 2.7.6)
sys.exit()
。当然,如果你还没有导入sys
,你也需要这样做。普通的exit()
函数有点奇怪:它是为标准 Python 交互式解释器中的方便使用而设计的,但通常在其他情况下使用它并不是一个好主意。 - PM 2Ring