이 파일을 eclipseEclipse + Pydev : "정지"를 누르면 "정리"기능이 호출되지 않습니까?
class Try:
def __init__(self):
pass
def __del__(self):
print 1
a=Try()
raw_input('waiting to finish')
에서 실행하려고 시도하고 프로그램이 끝나지 않고 중지 버튼을 누르면 "1"이 인쇄되지 않습니다. 즉, del 메소드가 호출되지 않습니다. 쉘에서 스크립트를 실행하려고하면 ctrl-c \ sys.exit "1"이 인쇄됩니다. 즉 del이 호출됩니다. wait()를 사용하면 똑같은 문제가 발생합니다.
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"이 인쇄되지 않습니다.
왜 그럴까요? 주위에 방법이 있습니까?
고마워요, 노엄
고마워,하지만 내 질문에 대답하지 않은 것 같아요 - 셸에서 실행할 때 * ctrl-c와 * 인터프리터 *를 중지 여전히 __del__를 호출하지만 일어날 일식에서 중지 할 때. 나는 차이점을 일으키는 것이 궁금한 해결책을 찾지 못했습니다. – olamundo
조금 벗어났습니다. 또는 적어도 잘못 설명되었으므로 좀 더 정리하고 더 많은 정보를 추가했습니다. – Zwergner
OK, 감사합니다 - 당신의 대답은 계속됩니다. 나는 처음에는 그것을 이해하지 못했습니다. 죄송합니다 – olamundo