2017-01-25 2 views
0

Я работаю над ID Spyder версии 3.0.0. Моя версия python - 2,7.12. По какой-то причине механизм atexit не работает в этой конкретной среде IDE.Функция Python atexit не вызывается в Spyder IDE


Код

import atexit 

def done(): 
    print '2' 

atexit.register(done) 
print '1' 

Результат

При запуске сценария в PyCharm или CMD для Windows, он печатает:

1 
2 

Когда я запускаю его из Spyder, выполняемая функция не вызывается, а 2 не печатается. Окончательный результат:

1 

ли кто-нибудь знает, почему это и как я могу это исправить?

Спасибо!

+0

Код, который вы дали никогда не будет печатать '1' или' 2' ... – linusg

+0

@linusg, спасибо, это была более старая версия. Я обновил вопрос – drorco

+0

Насколько я могу судить, 'atextit' только вызывает зарегистрированные функции, когда программа завершается без кода ошибки, поэтому убедитесь, что она не прерывается или не прерывается внезапно. – linusg

ответ

Смежные вопросы