2017-01-25 3 views
0

Ich arbeite an Spyder IDE, Version 3.0.0. Meine Python-Version ist 2.7.12. Aus irgendeinem Grund funktioniert der Atexit-Mechanismus nicht für diese bestimmte IDE.Python atexit Funktion wird nicht auf Spyder IDE


-Code

import atexit 

def done(): 
    print '2' 

atexit.register(done) 
print '1' 

Ergebnis

Als ich das Drehbuch in PyCharm oder von Windows cmd ausführen, druckt es:

1 
2 

Wenn ich es von Spyder ausführen, wird die Funktion done nicht aufgerufen und 2 wird nicht gedruckt. Das Endergebnis ist:

1 

Hat jemand weiß, warum ist das und wie kann ich es beheben?

Danke!

+0

Der Code, den Sie gab würde nie '1' oder' 2' drucken ... – linusg

+0

@linusg, danke, es war eine ältere Version. Ich habe die Frage – drorco

+0

aktualisiert. Soweit ich das beurteilen kann, ruft 'atextit' nur registrierte Funktionen auf, wenn das Programm ohne Fehlercode endet, also stelle sicher, dass es nicht abrupt abgebrochen wird. – linusg

Antwort