반응형
프로그램 종료 전에 작업 수행
프로그램이 종료되기 전에 실행될 함수 나 무언가를 어떻게 가질 수 있습니까? 백그라운드에서 지속적으로 실행되는 스크립트가 있으며 종료하기 전에 일부 데이터를 파일에 저장해야합니다. 이를 수행하는 표준 방법이 있습니까?
atexit
모듈을 확인하십시오 .
http://docs.python.org/library/atexit.html
예를 들어 응용 프로그램이 종료 될 때 메시지를 인쇄하려면 다음을 수행합니다.
import atexit
def exit_handler():
print 'My application is ending!'
atexit.register(exit_handler)
이것은 스크립트의 정상적인 종료에는 훌륭하게 작동하지만 모든 경우에 호출되지는 않습니다 (예 : 치명적인 내부 오류).
오류가 발생하더라도 항상 실행되도록하려면 try : finally : like this-
def main():
try:
execute_app()
finally:
handle_cleanup()
if __name__=='__main__':
main()
예외도 처리하려면 finally : 앞에 except :를 삽입 할 수 있습니다.
a를 발생시켜 KeyboardInterrupt
(예 : Ctrl-C를 눌러) 스크립트를 중지하면 표준 예외로 잡을 수 있습니다. SystemExit
같은 방법으로 잡을 수도 있습니다 .
try:
...
except KeyboardInterrupt:
# clean up
raise
나는 당신이 그것에 대해 알기 위해 이것을 언급합니다. 이를 수행하는 '올바른'방법은 atexit
위에서 언급 한 모듈입니다.
참고 URL : https://stackoverflow.com/questions/3850261/doing-something-before-program-exit
반응형
'Nice programing' 카테고리의 다른 글
has_and_belongs_to_many 대 has_many through (0) | 2020.10.18 |
---|---|
jQuery-DIV로 커서 따라 가기 (0) | 2020.10.18 |
특정 클래스의 div를 감지하는 jquery가 DOM에 추가되었습니다. (0) | 2020.10.18 |
C # 6에서 문자열 보간과 함께 이스케이프 문자를 사용하는 방법은 무엇입니까? (0) | 2020.10.18 |
AutoMapper.Mapper에 CreateMap에 대한 정의가 없습니다. (0) | 2020.10.18 |