我正在运行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的执行终止了。问题是,在这种情况下,第二个print语句仍然执行,而我需要在遇到exit()语句时立即终止脚本的执行。
为什么会发生这种情况?如何获得我想要的结果? (我正在运行python 2.7.6)
答案 0 :(得分:3)
exit()
单独用于REPL,而不是真正意图由脚本使用。
尝试sys.exit(0)
之后使用import sys
,当然