ipython:exit()语句未按预期工作

时间:2017-05-26 13:42:27

标签: python ipython exit execution terminate

我正在运行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)

1 个答案:

答案 0 :(得分:3)

exit()单独用于REPL,而不是真正意图由脚本使用。

尝试sys.exit(0)之后使用import sys,当然