프로그램이 종료되기 전에 실행될 함수 나 무언가를 어떻게 가질 수 있습니까? 백그라운드에서 지속적으로 실행되는 스크립트가 있으며 종료하기 전에 일부 데이터를 파일에 저장해야합니다. 이를 수행하는 표준 방법이 있습니까?
답변:
atexit
모듈을 확인하십시오 .
http://docs.python.org/library/atexit.html
예를 들어 응용 프로그램이 종료 될 때 메시지를 인쇄하려면 다음을 수행합니다.
import atexit
def exit_handler():
print 'My application is ending!'
atexit.register(exit_handler)
이것은 스크립트의 정상적인 종료에 효과적이지만 모든 경우에 호출되지는 않습니다 (예 : 치명적인 내부 오류).
Note The exit function is not called when the program is killed by a signal, when a Python fatal internal error is detected, or when os._exit() is called
.
오류가 발생하더라도 항상 실행되도록하려면 다음 try: finally:
과 같이 사용 하십시오.
def main():
try:
execute_app()
finally:
handle_cleanup()
if __name__=='__main__':
main()
예외도 처리하려면 except:
앞에 삽입 할 수 있습니다 .finally: