python 명령줄을 종료하는 중
Python 명령줄을 종료하려면 exit()을 입력해야 합니다.종료를 입력하면 다음과 같이 표시됩니다.
Use exit() or Ctrl-Z plus Return to exit
일반적으로 입력할 때exit
프로그램을 종료하고 싶을 것입니다.인터프리터는 내가 명령줄을 종료하려고 한다는 것을 알면서도 위의 오류를 표시하는 이유는 무엇입니까?왜 그냥 나가지 않는 거지?나는 그것이 중요하지 않고 어리석은 질문이라는 것을 알지만 나는 궁금합니다.
이것은 저에게 효과가 있습니다. 파이썬 프롬프트에서 나오는 가장 좋은 방법입니다.
출구()
내 파이썬 통역기에서.exit
실제로는 문자열이지 함수가 아닙니다.'Use Ctrl-D (i.e. EOF) to exit.'
다음을 입력하여 통역사를 확인할 수 있습니다.type(exit)
액티브 파이썬에서 일어나는 일은 종료가 함수라는 것입니다.함수를 호출하지 않으면 개체의 문자열 표현이 출력됩니다.반환된 모든 개체에 대한 기본 동작입니다.단지 디자이너들은 사람들이 exit를 입력해서 통역기를 종료하려고 할 수도 있다고 생각해서 exit 함수의 문자열 표현을 유용한 메시지로 만들었습니다.다음을 입력하여 이 동작을 확인할 수 있습니다.str(exit)
아니 심지어는print exit
.
입력할 때exit
명령줄에서 해당 이름을 가진 변수를 찾고 호출합니다.__repr__
(또는)__str__
) 그것에 있습니다.일반적으로 다음과 같은 결과를 얻을 수 있습니다.
<function exit at 0x00B97FB0>
하지만 그들은 그 기능을 다시 정의하기로 결정했습니다.exit
개체 대신 유용한 메시지를 표시합니다.그것이 어리석은 행동인지 아닌지는 주관적인 질문이지만, 그것이 "그냥 종료"하지 않는 한 가지 가능한 이유는 다음과 같습니다.
예를 들어, 디버거에서 어떤 코드를 보고 있는데 객체 중 하나가exit
기능.디버거가 호출하려고 할 때__repr__
당신에게 그 기능을 보여주기 위해 그 물체에서, 프로그램은 갑자기 정지합니다!이는 정말 예상치 못한 일이며, 이에 대응하기 위한 조치는 상황을 더욱 복잡하게 만들 수 있습니다(예를 들어, 해당 동작을 명령줄로 제한하더라도 다음과 같은 작업을 수행할 수 있습니다.exit
속성으로?)
Windows에서 Anaconda 4.5+ 및 Python 3.6+ 사용
Ctrl+Z
또는
exit()
경우에 따라 다음을 사용해야 할 수도 있습니다.
Ctrl+Break
컴퓨터에 없는 경우Break
키를 누른 다음 여기를 보십시오.
에서 파이썬 인터프리터를 종료하는 것이 좋습니다.파일 종료 또는 전송 종료를 위한 이전 ASCII 코드입니다.
는 이메는지입니다.__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'
3
>>> getattr(exit, '__str__')()
'Use exit() or Ctrl-D (i.e. EOF) to exit'
인터프리터는 명령을 제공하는 셸이 아니기 때문에 인터프리터입니다.당신이 주는 것은 파이썬 코드입니다.
파이썬의 구문은 다음과 같습니다.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
괄호 없이
Python 터미널을 종료하려면 다음을 수행합니다.
exit()
대부분의 사용자들이 호출하지 않고 출구와 혼합하여 호출하는 기능이지만, 새로운 파이튼 터미널에는 메시지가 표시됩니다...
또는 바로 가기로 다음을 누릅니다.
Ctrl + D
키보드로...
만약 당신이 python 명령줄에 갇혀있었지만 위의 솔루션이 당신에게 효과가 없다면, 시도해 보세요.exit(2)
"exit"는 Python 프로그램에서 사용할 수 있는 유효한 변수 이름입니다.해당 변수의 값을 보려고 할 때는 인터프리터를 종료할 수 없습니다.
파이썬의 UX:
$ python
Python 3.10.5 (tags/v3.10.5:f377153, Jun 6 2022, 16:14:13) [MSC v.1929 64 bit (AMD64)] on win32
>>> ^D
File "<stdin>", line 1
♦
^
SyntaxError: invalid syntax
>>> exit
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'exit' is not defined
>>> quit
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'quit' is not defined
>>> exit()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'exit' is not defined
>>> quit()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'quit' is not defined
언급URL : https://stackoverflow.com/questions/9730409/exiting-from-python-command-line
'IT' 카테고리의 다른 글
Vuex에서 작업으로 개체 전달 문제 (0) | 2023.07.07 |
---|---|
벡터 또는 열에서 두 번째(세 번째...) 가장 높은/낮은 값을 찾는 가장 빠른 방법 (0) | 2023.07.07 |
Spring Boot 통합 시 @Schedule 사용 안 함시험 (0) | 2023.07.07 |
'WITH' 절을 사용하여 SQL Server 쿼리에 이상한 오류가 발생함 (0) | 2023.07.07 |
쿼리에서 고유하게 사용해야 합니까? (0) | 2023.07.07 |