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



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

exit()本身是针对 REPL 的,并不是真正用于脚本的。

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

相关内容

  • 没有找到相关文章

最新更新