試圖在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