종료/종료 Python 스크립트의(간단한 예제는)

오늘날 우리는 다이빙의 주제로 종료/종료 Python 스크립트! 시작하기 전에 파이썬이 무엇인지에 대한 기본적인 이해와 그 사용에 대한 몇 가지 기본 지식이 있어야합니다.

원하는 IDE 를 사용할 수 있지만 이번에는 MICROSOFT 의 Windows 용 Linux 하위 시스템(WSL)패키지를 사용하겠습니다. 그것에 대한 자세한 내용과 Windows10 에서 활성화하는 방법은 여기로 이동하십시오.

테이블의 내용.

왜 Python 자동으로 종료 시 스크립트가 완료되면?,

방법 Python 실행되는 코드 블록 만드는 그것을 실행하는 각 라인에서 주문 확인,종속성을 가져오기,독서의 정의와 수업을 메모리에 저장,그리고 실행되는 조각의 코드기 위해서 허용을 위한 루프 및 호출을 정의한 정의는 아래에서 신나게 즐기세요.

경우 파이썬의 끝 부분에 도달하면 파일(EOF),이 고시는 그것을 읽을 수 없습니다 더 이상 소스에서 데이터를 수 있는지,사용자의 입력을 통해 IDE 거나 파일에서 읽기. 시연하기 위해,사용자 입력을 얻고 실행 중간에 인터프리터를 방해하려고합시다!,

먼저 PowerShell 의 bash 터미널에서”input”이라는 새 파일을 엽니 다.,n 붙여 다음과 같은 쉘에 마우스 오른쪽 버튼을 클릭하여 PowerShell 창

name=input("Don"t type anything!\n")print("Hi,",name,"!")

지금 보는CTRL+X를 저장하고 출구로 나노 창고에 포탄 유형:

$ python3 input.pyDon"t type anything!

키를 누릅CTRL+D프로그램을 종료하는 동안 그것의 사용자 입력을 기다리고

Traceback (most recent call last):File "input.py", line 1, in name=input("Don"t type anything!")EOFError

EOFError 예외는 파이썬 인터프리터를 명중(EOF)상태이 전에 그것을 완성의 코드를 실행하고 있으로,사용자가 입력 없이 입력된 데이터입니다.,

When Python 에 도달 EOF 조건이 동시에 실행된 모든 코드를 던지고없이 모든 예외는 방법 중 하나 Python 종료될 수 있습니다”정상적입니다.”

을 감지 스크립트 출

면 우리가 말하고 싶을 때는 프로그램을 종료한 아무런 예외 없이,우리가 사용할 수 있는 파이썬 내장atexit모듈이 있습니다.

atexit핸들이 우리가 아무것도 원하는 프로그램을 할 때 그것은 종료되며 일반적으로 이행하는 데 사용되는 프로그램이 청소기 전에 프로그램 프로세스가 종료됩니다.

실험 atexit,자 수정을 우리의 입력이 있습니다.,py 예 프로그램 종료시 메시지를 인쇄합니다. 열 input.py 파일 다시 및 대체 텍스트와 이

import atexitatexit.register(print,"Program exited successfully!")name=input("What"s your name?\n")print("Hi,",name,"!")

이름을 입력하면 입력을 얻어야 한다:

What"s your name?ExampleHi, Example !Program exited successfully!

알 수 있는 방법을 종료 텍스트의 끝에 나타나는 출력 상관없이 우리atexit통화 어떻게 우리가 대체atexit부르는 간단한print(),우리는 출구를 텍스트는print()모두되었다기보다는 코드가 종료됩니다.,

Program exited successfully!What"s your name?ExampleHi, Example !

우아한 종

여러 가지 방법이 있을 끝내는 파이썬 프로그램을 포함 하지 않는 던지는 예외; 첫 번째 시도하려고 했어요는quit()

사용할 수 있습니다 bash 명령echo $?을 얻을 종료한 코드의 통역입니다.,

우리는 우리를 정의할 수도 있습 유형의 코드의 통역을 종료해야 함을 나누어 주quit()정수수 256

exit()과 같은 기능이 있습니다 그것은 별칭quit()

quit()exit()은 좋은 것으로 간주됩 연습으로 그들 모두 필요site모듈을 사용하는 의미에 대한 대화형 해석에 있지 않고 프로그램입니다., 프로그램은 우리의 프로그램,우리는이 같은 것을 사용하는sys.exit

통해 명시적으로 모듈을 가져올 전화exit()이처럼 보일 수도 있지 개선이지만,그것을 보장하는 데 필요한 모듈이 로드되기 때문에 그것은 좋은 가정을site로드됩니다., 지 않는다면,우리 가져오려는 여분의 모듈에서,우리는 무엇을 할 수 있는exit(), quit()sys.exit()하고 있는 뒤에서 그리고raise SystemExit

종료와 오류 메시지

What 면 우리는 나쁜 사용자에게 입력?, 자 돌아 보면서 우리의input.py스크립트가 처리하는 기능에 나쁜 사용자의 입력(CTRL+D을 전달하 character EOF)

try문 알 Python 를 시도하는 코드가 내부에 문을 통과하는 모든 예외를except문의하기 전에 종료됩니다.

나가지 않고 오류가

어떤 경우에는 사용자의 손 프로그램 오류가 있지만 당신이 원하지 않는 코드를 인쇄하거나 오류가 발생하거나 몇 가지 종류의 오류 처리를 최소화하는 사용자에 미치는 영향?,

를 추가할 수 있습니다finally문 할 수있는 우리의 코드를 실행한 후 우리는 오류 처리catch

공지 사용자는 결코 알지 못하는EOFError발생 이를 전달하는 데 사용할 수 있는 기본값에서 이벤트의 입력 또는 인수입니다.,

출구와 자원

일반적으로,Python 한 모든 리소스를 해제 당신은에서 호출 프로그램을 때 자동으로 종료,하지만 특정 프로세스,그것은 좋은 연습을 넣기 위하여 일부 제한된 자원에서는withblock.

자주 당신이 볼open()통화,실패를 제대로 해제 파일의 문제를 일으킬 수 있었을 읽거나 쓰는 파일이다.

with블록이 자동으로 자리까지 그 안에 있습니다., 만약 우리가 원하는 더 많은 명시적으로 확인 파일을 닫은,우리가 사용할 수 있는atexit.register()명령을 호출하는close()

$ nano openfile.pyimport atexitfile=open("testfile.txt","w")file.write("let"s write some text!\n")atexit.register(file.close)

경우 자라고 사용하지 않고with블록 는지 확인을 명시적으로 해제에서 그들을atexit명령입니다.

후 종료 시간

경우 우리가 우려하는 것은 우리의 프로그램지 않을 수도 있습니 일반적으로 종료한 후 우리가 사용할 수 있는 파이썬의multiprocessing모듈을 위해 저희 프로그램이 종료될 것입니다.,

알 수 있는 방법 프로세스를 완료하지 못하면 이 함수는 말을 들었을 기다리는 7 초 만료 및 인쇄는 무엇이었을 때 그것을 지 0 초입니다!

종료 문을 사용하여

이 있는 경우에 우리는 코드 섹션에 우리가 사용하고 싶을 종료는 전체 프로그램을 시키는 대신break문을 계속 코드 루프 외부에서,우리가 사용할 수 있는return sys.exit()을 종료한 코드니다.,

구의 중간에 기능

만약 우리가 사용하고 싶지 않 return 문에,우리는 여전히 통화sys.exit()리 프로그램을 제공하는return에서 다른 지점에 있습니다. 에서 코드를 사용합시다 break.py 다시.

종료할 때 조건이 충족되

경우 우리는 루프에서 우리의 Python 코드고 우리가 원하는지 확인하는 코드 종료 할 수 있습니다면 그것은 문제가 발생하면,우리가 사용할 수 있는 플래그를 확인할 수 있을 프로그램이 종료됩니다.,

출구에서 키

경우 우리는 우리의 프로그램에서 열린 콘솔까지 우리가 키를 누르면,우리가 사용할 수 있는 약속 안함input()을 닫습니다.

$ nano holdopen.pyinput("Press enter to continue")$ python3 holdopen.pyPress enter to continue$

우리는 전달할 수 있습니다CTRL+C콘솔하게 PythonKeyboardInterrupt문자입니다. 이전에 예외를 처리 한 것처럼KeyboardInterrupt예외를 처리 할 수도 있습니다.,

출 다중 스레드 프로그램

종료 다중 스레드 프로그램은 약간 더 관련된,간단한sys.exit()이라고 스레드에서는 유일하게 출 현재 thread., “Dirty”그것을 할 수있는 방법이 사용하는os._exit()

당신이 볼 수있는,프로그램지 않은 인쇄의 나머지 프로그램을 종료는 이유입os._exit()는 일반적으로 예약 마지막 리조트 그 중 하나를 호출하는Thread.join()에서 메인 스레드가 선호하는 방법에 대한 끝나는 다중 스레드 프로그램입니다.,

끝없이 sys 구

Sys.exit()은 여러 가지 방법 중 하나로 우리는 종료 할 수 있습니다 우리는 파이썬 프로그램,무엇sys.exit()않은raise SystemExit, 그래서 우리가 쉽게 사용이 내장되어서는 파이썬은 예외를 만들거나 우리 중 하나다.

우리는 또한 사용할 수 있습니다os._exit()을 말해 호스트 시스템을 죽이는 파이썬 프로세스,이를 하지 않는atexitcleanup.,

종료 시에는 예외

경우 우리가 원하는 출구에서 모든 예외 없이 취급하고,우리가 사용할 수 있습니다 우리try-except블록을 실행하는os._exit().

를 종료하고 다시 시작

마지막으로,우리는 탐험 우리가 무엇을 종료 Python 및 프로그램을 다시 시작에서 유용하게 사용할 수 있는 경우가 많습니다.

튜토리얼이 유용하기를 바랍니다. 계속 돌아온다.

감사합니다.,

의 설립자 LikeGeeks. 저는 2010 년부터 리눅스 시스템 관리자로 일하고 있습니다. 전 세계의 여러 클라이언트에 대해 Linux 서버를 유지 관리,보안 및 문제 해결해야 할 책임이 있습니다. 내 작업을 자동화하기 위해 쉘과 파이썬 스크립트를 작성하는 것을 좋아합니다.나는 이것을 할 수 없다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다