반응형
파이썬에서 exit ()와 sys.exit ()의 차이점
파이썬에서,이 두 가지 유사한 이름의 함수는, exit()
와 sys.exit()
. 차이점은 무엇이며 언제 다른 것을 사용해야합니까?
exit
대화식 쉘의 도우미입니다- sys.exit
프로그램에서 사용하기위한 것입니다.
site
합니다 (있는 경우를 제외하고, 시작시 자동으로 가져온 모듈-S
명령 줄 옵션이 주어)가 내장 된 네임 스페이스에 여러 상수를 추가합니다 (예를exit
) . 대화식 인터프리터 쉘에 유용하며 프로그램에서 사용해서는 안됩니다 .
기술적으로 그들은 주로 같은 일을 SystemExit
합니다. sysmodule.csys.exit
에서 그렇게합니다 :
static PyObject *
sys_exit(PyObject *self, PyObject *args)
{
PyObject *exit_code = 0;
if (!PyArg_UnpackTuple(args, "exit", 0, 1, &exit_code))
return NULL;
/* Raise SystemExit so callers may catch it or clean up. */
PyErr_SetObject(PyExc_SystemExit, exit_code);
return NULL;
}
while exit
은 각각 site.py 및 _sitebuiltins.py에 정의되어 있습니다.
class Quitter(object):
def __init__(self, name):
self.name = name
def __repr__(self):
return 'Use %s() or %s to exit' % (self.name, eof)
def __call__(self, code=None):
# Shells like IDLE catch the SystemExit, but listen when their
# stdin wrapper is closed.
try:
sys.stdin.close()
except:
pass
raise SystemExit(code)
__builtin__.quit = Quitter('quit')
__builtin__.exit = Quitter('exit')
정리 처리기, 플러시 stdio 버퍼 등을 호출하지 않고 종료되는 os._exit 와 같은 세 번째 종료 옵션 이 있습니다 (일반적으로 a 다음의 자식 프로세스에서만 사용해야 함 fork()
).
내가 사용하는 경우 exit()
코드와 쉘에서 실행, 내가 프로그램을 죽이거나하지할지 여부를 묻는 메시지가 표시됩니다. 정말 혼란 스럽습니다. 여길 봐
그러나이 sys.exit()
경우 더 좋습니다. 프로그램을 닫고 대화 상자를 만들지 않습니다.
참고 URL : https://stackoverflow.com/questions/6501121/difference-between-exit-and-sys-exit-in-python
반응형
'Programing' 카테고리의 다른 글
AngularJS ng- 반복 핸들 빈 목록 케이스 (0) | 2020.02.26 |
---|---|
현재 사용자의 임시 폴더를 얻는 방법 (0) | 2020.02.26 |
REST API 모범 사례 : 매개 변수 값 목록을 입력으로 승인하는 방법 (0) | 2020.02.26 |
WordPress에 대한 올바른 파일 권한 (0) | 2020.02.26 |
소수점 이하 두 자리로 반올림되는 자바 스크립트 수학 (0) | 2020.02.25 |