试图在Eclipse的Eclipse + Pydev的:当按下“停止”,“
class Try:
def __init__(self):
pass
def __del__(self):
print 1
a=Try()
raw_input('waiting to finish')
运行此文件,并没有让程序完成按下停止按钮“清理”功能不叫不打印如果我尝试从shell运行脚本并且执行ctrl-c \ sys.exit“1”确实会被打印,即del被调用 同样的事情,如果我尝试使用等待():
class A:
def __enter__(self):
return None
def __exit__(self, type, value, traceback):
print 3
with A():
print 1
raw_input('Waiting')
print 2
如果我按下 “停止” 提示时, “3” 未被打印
这是为什么? 有没有办法解决它?
谢谢,诺姆
谢谢,但我认为你没有回答我的问题 - 当从shell运行时,用ctrl-c停止* interpreter *仍然调用__del__,但是在eclipse中停止它时不会发生。 我不是在寻找一个解决方案,只是想知道是什么导致了差异 – olamundo 2009-08-11 19:01:17
我有点偏离,或至少解释不好,所以我清理了一下,并添加了更多的信息。 – Zwergner 2009-08-12 01:32:31
好的,谢谢 - 你的答案是现货。起初我不明白。抱歉 – olamundo 2009-08-13 09:14:41