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!
Der Code, den Sie gab würde nie '1' oder' 2' drucken ... – linusg
@linusg, danke, es war eine ältere Version. Ich habe die Frage – drorco
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