Чистый выход из скрипта Python

Я пытаюсь выйти из сценария Python без появления раздражающего сообщения об ошибке:

Traceback (most recent call last):
  File "<pyshell#27>", line 3, in <module>
    sys.exit()
SystemExit

Я пробовал довольно много вещей, но ни один из них не помог. Вот пример:

while True:
    print "hi", #this just tests to see if I have exited.
    try:
        sys.exit()
    except SystemExit:
        print "Exited"

NB: решение не обязательно должно быть близко к этому коду, это был просто пример того, что я пробовал.


person ACarter    schedule 25.05.2012    source источник
comment
На какой системе вы работаете?   -  person Ehtesh Choudhury    schedule 25.05.2012
comment
Вы запускаете сценарий через IDE, например IDLE?   -  person Joel Cornett    schedule 25.05.2012
comment
Дубликат stackoverflow.com/questions / 1187970 /   -  person Kjir    schedule 25.05.2012
comment
@ Джоэл, да, ХОРОШО. Должно ли это иметь значение?   -  person ACarter    schedule 25.05.2012
comment
@Shurane Windows 7, python 2.7.2.   -  person ACarter    schedule 25.05.2012
comment
Также есть os._exit(), но это, вероятно, не следует использовать только для того, чтобы избавиться от надоедливых сообщений трассировки.   -  person mgilson    schedule 25.05.2012
comment
См. Ответ Левона. Я добиваюсь таких же результатов, как и он.   -  person Joel Cornett    schedule 25.05.2012


Ответы (1)


Когда я запускаю это в консоли Python (под Windows или Linux), я не получаю никаких сообщений об ошибке, когда использую sys.exit(-1). Однако iPython даст мне

An exception has occurred, use %tb to see the full traceback.

SystemExit: -1

Я подозреваю, что вы видите сообщения об ошибках, потому что работаете в какой-то среде IDE, так ли это?

person Levon    schedule 25.05.2012
comment
Ага, это была IDE. Спасибо. - person ACarter; 25.05.2012