[PYTHON] 프로그램 종료 전에 무엇인가하기
PYTHON프로그램 종료 전에 무엇인가하기
프로그램이 종료되기 전에 어떻게 실행될 기능이나 무언가를 가질 수 있습니까? 백그라운드에서 지속적으로 실행될 스크립트가 있으며 종료하기 전에 파일에 일부 데이터를 저장해야합니다. 이 작업을 수행하는 표준 방법이 있습니까?
해결법
-
==============================
1.atexit 모듈을 확인하십시오.
atexit 모듈을 확인하십시오.
http://docs.python.org/library/atexit.html
예를 들어, 응용 프로그램이 종료 될 때 메시지를 인쇄하려면 다음과 같이하십시오.
import atexit def exit_handler(): print 'My application is ending!' atexit.register(exit_handler)
이 스크립트는 정상적으로 스크립트가 종료 될 때 유용하지만 모든 경우에 호출되지는 않습니다 (예 : 치명적인 내부 오류).
-
==============================
2.오류가 있어도 항상 실행되도록하려면 try : finally : like this -
오류가 있어도 항상 실행되도록하려면 try : finally : like this -
def main(): try: execute_app() finally: handle_cleanup() if __name__=='__main__': main()
예외를 처리하려는 경우 except를 삽입 할 수도 있습니다. finally :
-
==============================
3.KeyboardInterrupt를 높이 (Ctrl-C 키를 눌러) 스크립트를 중지하면 표준 예외처럼이를 잡을 수 있습니다. 동일한 방법으로 SystemExit을 잡을 수도 있습니다.
KeyboardInterrupt를 높이 (Ctrl-C 키를 눌러) 스크립트를 중지하면 표준 예외처럼이를 잡을 수 있습니다. 동일한 방법으로 SystemExit을 잡을 수도 있습니다.
try: ... except KeyboardInterrupt: # clean up raise
당신이 그것에 대해 알 수 있도록 이것을 언급합니다; 이렇게하기위한 '올바른'방법은 위에서 언급 한 atexit 모듈입니다.
from https://stackoverflow.com/questions/3850261/doing-something-before-program-exit by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 파이썬에서 sscanf (0) | 2018.10.11 |
---|---|
[PYTHON] 이상한 Try-Except-Else-Finally 동작 (Return 문 사용) [duplicate] (0) | 2018.10.11 |
[PYTHON] "#! / usr / bin / env python"을 사용하여 파이썬에 인수를 전달할 수 없습니다. (0) | 2018.10.11 |
[PYTHON] if 문을 사용하여 목록 작성 (0) | 2018.10.11 |
[PYTHON] 파일의 텍스트를 파이썬으로 대체하기 (0) | 2018.10.11 |