파이썬 커맨드 라인에서 나가기
파이썬 명령 줄을 끝내려면 exit ()를 입력해야합니다. exit를 입력하면
Use exit() or Ctrl-Z plus Return to exit
일반적으로을 입력 exit
하면 프로그램을 종료하려고합니다. 명령 줄을 종료하려고 할 때 인터프리터에서 왜 위의 오류가 발생합니까? 왜 그냥 종료되지 않습니까? 나는 그것이 중요하지 않고 어리석은 질문이라는 것을 알고 있지만 궁금합니다.
내 파이썬에서 인터프리터 exit
는 실제로 문자열이며 함수가 아닙니다 'Use Ctrl-D (i.e. EOF) to exit.'
. 다음을 입력하여 통역사를 확인할 수 있습니다type(exit)
활성 파이썬에서 일어나고있는 일은 exit가 함수라는 것입니다. 함수를 호출하지 않으면 객체의 문자열 표현이 인쇄됩니다. 이것은 반환 된 객체의 기본 동작입니다. 디자이너가 사람들이 인터프리터를 종료하기 위해 exit를 입력하려고 할 수 있다고 생각했기 때문에 exit 함수의 문자열 표현을 유용한 메시지로 만들었습니다. 당신은 입력하여이 동작을 확인할 수 있습니다 str(exit)
또는 print exit
.
이것은 파이썬 프롬프트에서 나오는 가장 좋은 방법입니다.
출구()
exit
명령 행에 입력하면 해당 이름의 변수를 찾은 후 변수를 호출합니다 __repr__
(또는 __str__
). 일반적으로 다음과 같은 결과가 나타납니다.
<function exit at 0x00B97FB0>
그러나 그들은 exit
객체가 유용한 메시지를 대신 표시 하도록 해당 기능을 재정의하기로 결정했습니다 . 그것이 멍청한 행동인지 아닌지에 대한 주관적인 질문이지만 그것이 "그냥 나가지 않는"한 가지 가능한 이유는 다음과 같습니다.
예를 들어 디버거에서 일부 코드를보고 있고 객체 중 하나가 exit
함수를 참조한다고 가정합니다 . 디버거가 __repr__
해당 개체 를 호출 하여 해당 기능을 표시 하려고 하면 프로그램이 갑자기 중지됩니다! 실제로 예상치 못한 일이 발생하고 이에 대응하기위한 조치가 더 복잡해질 수 있습니다 (예를 들어, 명령 행으로 해당 동작을 제한하더라도 exit
속성 이있는 객체를 인쇄하려고하면 어떻게됩니까?)
이 메시지는이다 __str__
의 속성exit
다음 예제를보십시오.
1
>>> print exit
Use exit() or Ctrl-D (i.e. EOF) to exit
2
>>> exit.__str__()
'Use exit() or Ctrl-D (i.e. EOF) to exit'
삼
>>> getattr(exit, '__str__')()
'Use exit() or Ctrl-D (i.e. EOF) to exit'
로 파이썬 인터프리터를 종료하는 것이 좋습니다 Ctrl-D. 파일 끝 또는 전송 끝의 이전 ASCII 코드입니다.
Windows에서 Anaconda 4.5 이상 및 Python 3.6 이상 사용
Ctrl+Z
또는
exit()
경우에 따라 사용해야 할 수도 있습니다
Ctrl+Break
컴퓨터에 Break
키 가 없으면 여기 를 참조하십시오 .
인터프리터는 명령을 제공하는 쉘이 아니기 때문에 인터프리터입니다. 당신이주는 것은 파이썬 코드입니다.
파이썬의 구문은 exit
그 자체로는 객체의 이름 이외의 다른 것이 될 수 없습니다. 단순히 객체를 참조하는 것은 실제로 아무것도 할 수 없습니다 (읽기 평가 인쇄 루프가 정상적으로 수행하는 것 제외, 즉 객체의 문자열 표현 표시).
고칠 수 있습니다.
PYTHONSTARTUP
다음을 사용하여 파이썬 파일에 연결
# Make exit work as expected
type(exit).__repr__ = type(exit).__call__
이것은 어떻게 작동합니까?
python 명령 행은 read-evaluate-print-loop입니다. 즉, 텍스트를 입력하면 해당 텍스트를 읽고 평가하여 결과를 인쇄합니다.
입력 exit()
하면 호출 가능한 유형의 객체로 평가되고 site.Quitter
해당 __call__
기능을 호출 하여 시스템을 종료합니다. 입력 exit
하면 동일한 호출 가능한 객체로 평가되고, 호출하지 않고 객체가 인쇄되어 객체를 호출 __repr__
합니다.
우리는 연결하여 활용할 수 __repr__
에 __call__
따라서 경우에도 우리는 입력 시스템을 종료의 예상 행동을 얻을 exit
괄호없이합니다.
파이썬 터미널 에서 나가려면 간단히 다음을 수행하십시오.
exit()
Please pay attention it's a function which called as most user mix it with exit without calling, but new Pyhton terminal show a message...
or as a shortcut, press:
Ctrl + D
on your keyboard...
If you stuck in python command line and none of above solutions worked for you, try exit(2)
"exit" is a valid variable name that can be used in your Python program. You wouldn't want to exit the interpreter when you're just trying to see the value of that variable.
참고URL : https://stackoverflow.com/questions/9730409/exiting-from-python-command-line
'development' 카테고리의 다른 글
"토큰 라이저", "파서"및 "렉서"가 무엇인지 그리고 이들이 서로 어떻게 관련되고 사용되는지에 대한 명확한 정의를 찾고 있습니까? (0) | 2020.07.03 |
---|---|
네임 스페이스 std에서 템플릿 클래스를 전달하는 방법은 무엇입니까? (0) | 2020.07.03 |
단축키를 사용하여 Google 검색 결과 탐색 (0) | 2020.07.03 |
인스턴스간에 클래스 데이터를 공유하지 않으려면 어떻게해야합니까? (0) | 2020.07.03 |
Matplotlib 컬러 바 크기를 그래프와 일치하도록 설정 (0) | 2020.07.02 |