ipython: оператор exit() не работает должным образом
Я запускаю скрипт в ipython (1.2.1), и мне нужно остановить его, если не выполнено определенное условие. Я попытался использовать оператор exit(), но он не работает должным образом.
Возьмите для примера следующий скрипт, который я назвал test.py
:
if(True):
print('Error')
exit()
print('Still here!')
Когда я запускаю его, используя python test.py
, Я получил:
$python test.py
Error
И тогда выполнение прекращается, как и ожидалось.
Но если я запускаю его из ipython, используя run -i test.py
тогда я получаю:
In [1]: run -i test.py
Error
Still here!
И, наконец, выполнение ipython прекращается. Проблема заключается в том, что в этом случае второй оператор печати все еще выполняется, в то время как выполнение сценария должно быть прекращено, как только встретится оператор exit().
Почему это происходит и как я могу получить желаемый результат? (Я использую Python 2.7.6)
1 ответ
exit()
один предназначен для REPL, на самом деле не предназначен для использования сценариями.
Попробуйте использовать sys.exit(0)
после тебя import sys
, конечно