Ich versuche, diese Datei in Eclipse auszuführen
class Try:
def __init__(self):
pass
def __del__(self):
print 1
a=Try()
raw_input('waiting to finish')
und wenn ich die Stopptaste drücke, ohne das Programm beenden zu lassen, wird keine "1" gedruckt, d.h. die del-Methode wird nie aufgerufen. Wenn ich versuche, das Skript in der Shell auszuführen und ctrl-c \sys.exit "1" wird gedruckt, d.h. del wird aufgerufen. Dasselbe geschieht, wenn ich versuche, wait() zu verwenden:
class A:
def __enter__(self):
return None
def __exit__(self, type, value, traceback):
print 3
with A():
print 1
raw_input('Waiting')
print 2
Wenn ich bei der Aufforderung "Stopp" drücke, wird die "3" nicht gedruckt.
Warum ist das so? Gibt es eine Möglichkeit, dies zu umgehen?
Danke, Noam