sys — 시스템 특정 파라미터와 함수¶
이 모듈은 인터프리터에 의해 사용되거나 유지되는 일부 변수와 인터프리터와 강하게 상호 작용하는 함수에 대한 액세스를 제공합니다. 항상 사용 가능합니다. 명시적으로 달리 언급하지 않는 한, 모든 변수는 읽기 전용입니다.
- sys.abiflags¶
- 표준 - configure스크립트를 사용하여 파이썬을 빌드한 POSIX 시스템에서, 이것은 PEP 3149에 지정된 ABI 플래그를 포함합니다.- Added in version 3.2. - 버전 3.8에서 변경: 기본 플래그는 빈 문자열이 되었습니다 (pymalloc을 위한 - m플래그가 제거되었습니다).- 가용성: Unix. 
- sys.addaudithook(hook)¶
- 현재 (서브) 인터프리터의 활성 감사 훅 리스트에 콜러블 hook을 추가합니다. - sys.audit()함수를 통해 감사 이벤트가 발생하면, 각 훅은 추가된 순서대로 이벤트 이름과 인자 튜플로 호출됩니다.- PySys_AddAuditHook()으로 추가된 네이티브 훅이 먼저 호출되고, 현재 (서브) 인터프리터에서 추가된 훅이 뒤따릅니다. 그런 다음 훅은 이벤트를 로그 하거나, 예외를 발생 시켜 연산을 중단하거나, 프로세스를 완전히 종료 할 수 있습니다.- Note that audit hooks are primarily for collecting information about internal or otherwise unobservable actions, whether by Python or libraries written in Python. They are not suitable for implementing a “sandbox”. In particular, malicious code can trivially disable or bypass hooks added using this function. At a minimum, any security-sensitive hooks must be added using the C API - PySys_AddAuditHook()before initialising the runtime, and any modules allowing arbitrary memory modification (such as- ctypes) should be completely removed or closely monitored.- sys.addaudithook()을 호출하면 스스로 인자 없이- sys.addaudithook이라는 이름의 감사 이벤트를 발생시킵니다. 기존 훅에서- RuntimeError에서 파생된 예외가 발생하면, 새 훅이 추가되지 않고 예외가 억제됩니다. 결과적으로, 호출자는 기존의 모든 훅을 제어하지 않는 한 훅이 추가되었다고 가정할 수 없습니다.- CPython이 발생시키는 모든 이벤트에 대해서는 감사 이벤트 표를, 원래 디자인 논의는 PEP 578을 참조하십시오. - Added in version 3.8. - 버전 3.8.1에서 변경: - Exception에서 파생되었지만- RuntimeError가 아닌 예외는 더는 억제되지 않습니다.- 추적(tracing)이 활성화되었을 때 ( - settrace()를 참조하십시오), 파이썬 훅은 콜러블에 참값으로 설정된- __cantrace__멤버가 있을 때만 추적합니다. 그렇지 않으면, 추적 함수는 훅을 건너뜁니다.
- sys.argv¶
- 파이썬 스크립트에 전달된 명령 줄 인자 리스트. - argv[0]은 스크립트 이름입니다 (전체 경로명인지는 운영 체제에 따라 다릅니다). 인터프리터에- -c명령 줄 옵션을 사용하여 명령이 실행되었으면,- argv[0]은 문자열- '-c'로 설정됩니다. 파이썬 인터프리터에 스크립트 이름이 전달되지 않으면,- argv[0]은 빈 문자열입니다.- 표준 입력이나 명령 줄에 제공된 파일 목록을 루핑 하려면, - fileinput모듈을 참조하십시오.- See also - sys.orig_argv.- 참고 - 유닉스에서, 명령 줄 인자는 OS에서 바이트열로 전달됩니다. 파이썬은 이것들을 파일 시스템 인코딩과 “surrogateescape” 에러 처리기로 디코딩합니다. 원본 바이트열이 필요할 때, - [os.fsencode(arg) for arg in sys.argv]로 얻을 수 있습니다.
- sys.audit(event, *args)¶
- 활성 감사 훅으로 감사 이벤트를 발생시킵니다. event는 이벤트를 식별하는 문자열이고, args는 이벤트에 대한 추가 정보를 갖는 선택적 인자를 포함할 수 있습니다. 주어진 이벤트에 대한 인자의 수와 형은 공개된 안정 API로 간주하며 배포 간에 수정되지 않아야 합니다. - 예를 들어, 한 감사 이벤트의 이름은 - os.chdir입니다. 이 이벤트에는 요청된 새 작업 디렉터리를 포함하는 path라는 인자가 하나 있습니다.- sys.audit()는 이벤트 이름과 인자들을 전달하여 기존 감사 훅들을 호출하고, 어떤 훅에서건 발생한 첫 번째 예외를 발생시킵니다. 일반적으로, 예외가 발생하면, 처리되지 않아야 하며 가능한 한 빨리 프로세스를 종료해야 합니다. 이렇게 하면 훅 구현이 특정 이벤트에 반응하는 방법을 결정할 수 있습니다: 단순히 이벤트를 로그 하거나 예외를 발생 시켜 연산을 중단 할 수 있습니다.- 훅은 - sys.addaudithook()이나- PySys_AddAuditHook()함수를 사용하여 추가됩니다.- 이 함수의 네이티브 동등 물은 - PySys_Audit()입니다. 가능하면 네이티브 함수를 사용하는 것이 좋습니다.- CPython이 발생시키는 모든 이벤트에 대해서는 감사 이벤트 표를 참조하십시오. - Added in version 3.8. 
- sys.base_exec_prefix¶
- 파이썬 시작 중에, - site.py가 실행되기 전에,- exec_prefix와 같은 값으로 설정됩니다. 가상 환경에서 실행되지 않으면, 값은 같게 유지됩니다;- site.py가 가상 환경이 사용 중임을 발견하면,- prefix와- exec_prefix의 값은 가상 환경을 가리키도록 변경되지만,- base_prefix와- base_exec_prefix는 기본 파이썬 설치(가상 환경을 만든 것)를 계속 가리킵니다.- Added in version 3.3. 
- sys.base_prefix¶
- 파이썬 시작 중에, - site.py가 실행되기 전에,- prefix와 같은 값으로 설정됩니다. 가상 환경에서 실행되지 않으면, 값은 같게 유지됩니다;- site.py가 가상 환경이 사용 중임을 발견하면,- prefix와- exec_prefix의 값은 가상 환경을 가리키도록 변경되지만,- base_prefix와- base_exec_prefix는 기본 파이썬 설치(가상 환경을 만든 것)를 계속 가리킵니다.- Added in version 3.3. 
- sys.byteorder¶
- 네이티브 바이트 순서의 표시기. 이는 빅 엔디안(최상위 바이트 먼저) 플랫폼에서 - 'big'값을, 리틀 엔디안(최하위 바이트 먼저) 플랫폼에서- 'little'을 갖습니다.
- sys.builtin_module_names¶
- 이 파이썬 인터프리터로 컴파일된 모든 모듈의 이름을 포함하는 문자열의 튜플. (이 정보는 다른 방법으로는 얻을 수 없습니다 — - modules.keys()는 임포트 된 모듈만 나열합니다.)- See also the - sys.stdlib_module_nameslist.
- sys.call_tracing(func, args)¶
- 추적이 활성화된 동안, - func(*args)를 호출합니다. 추적 상태가 저장되고, 나중에 복원됩니다. 이것은 체크 포인트에서 디버거에서 호출되어 다른 코드를 재귀적으로 디버깅이나 프로파일링하기 위한 것입니다.- Tracing is suspended while calling a tracing function set by - settrace()or- setprofile()to avoid infinite recursion.- call_tracing()enables explicit recursion of the tracing function.
- sys.copyright¶
- 파이썬 인터프리터와 관련된 저작권이 포함된 문자열. 
- sys._clear_type_cache()¶
- 내부 형 캐시를 지웁니다. 형 캐시는 어트리뷰트와 메서드 조회 속도를 높이는 데 사용됩니다. 참조 누수 디버깅 중에 불필요한 참조를 제거하기 위해서 만 이 함수를 사용하십시오. - 이 함수는 내부와 특수 목적으로만 사용해야 합니다. - 버전 3.13부터 폐지됨: Use the more general - _clear_internal_caches()function instead.
- sys._clear_internal_caches()¶
- Clear all internal performance-related caches. Use this function only to release unnecessary references and memory blocks when hunting for leaks. - Added in version 3.13. 
- sys._current_frames()¶
- 함수가 호출될 때 각 스레드의 식별자를 해당 스레드에서 현재 활성화된 최상위 스택 프레임에 매핑하는 딕셔너리를 반환합니다. - traceback모듈의 함수는 이러한 프레임을 주면 호출 스택을 빌드할 수 있음에 유의하십시오.- 이것은 교착 상태 디버깅에 가장 유용합니다: 이 함수는 교착 상태에 빠진 스레드의 협력을 필요로하지 않으며, 이러한 스레드의 호출 스택은 교착 상태를 유지하는 한 고정됩니다. 교착 상태가 아닌 스레드에 대해 반환된 프레임은 호출하는 코드가 프레임을 검사할 때까지 해당 스레드의 현재 활동과 관련이 없을 수 있습니다. - 이 함수는 내부와 특수 목적으로만 사용해야 합니다. - 인자 없이 감사 이벤트 - sys._current_frames를 발생시킵니다.
- sys._current_exceptions()¶
- 함수가 호출될 때 각 스레드의 식별자를 해당 스레드에서 현재 활성화된 최상위 예외에 매핑하는 딕셔너리를 반환합니다. 스레드가 현재 예외를 처리하고 있지 않으면, 결과 딕셔너리에 포함되지 않습니다. - This is most useful for statistical profiling. - 이 함수는 내부와 특수 목적으로만 사용해야 합니다. - 인자 없이 감사 이벤트 - sys._current_exceptions를 발생시킵니다.- 버전 3.12에서 변경: Each value in the dictionary is now a single exception instance, rather than a 3-tuple as returned from - sys.exc_info().
- sys.breakpointhook()¶
- 이 훅 함수는 내장 - breakpoint()에 의해 호출됩니다. 기본적으로,- pdb디버거로 떨어뜨리지만, 다른 함수로 설정하여 사용할 디버거를 선택할 수 있습니다.- 이 함수의 서명은 그것이 호출하는 것에 의존합니다. 예를 들어, 기본 바인딩(예를 들어 - pdb.set_trace())에는 인자가 필요하지 않지만, 추가 인자(위치 및/또는 키워드)를 기대하는 함수에 바인딩할 수 있습니다. 내장- breakpoint()함수는- *args와- **kws를 그대로 전달합니다.- breakpointhooks()가 반환하는 것이- breakpoint()에서 반환됩니다.- 기본 구현은 먼저 환경 변수 - PYTHONBREAKPOINT를 참조합니다. 이것이- "0"으로 설정되면, 이 함수는 즉시 반환합니다; 즉, 아무런 일도 하지 않습니다. 환경 변수가 설정되지 않거나 빈 문자열로 설정되면,- pdb.set_trace()가 호출됩니다. 그렇지 않으면 이 변수는 파이썬의 점으로 표현한 임포트 표기법(예를 들어- package.subpackage.module.function)을 사용하여 실행할 함수의 이름을 지정해야 합니다. 이 경우,- package.subpackage.module이 임포트 되고 결과 모듈에는- function()이라는 이름의 콜러블이 있어야 합니다. 이것이- *args및- **kws를 전달하여 실행되며,- function()이 반환하는 것을- sys.breakpointhook()이 내장- breakpoint()함수로 반환합니다.- PYTHONBREAKPOINT로 이름이 지정된 콜러블을 임포트 하는 도중에 문제가 발생하면,- RuntimeWarning이 보고되고 중단점은 무시됨에 유의하십시오.- 또한 - sys.breakpointhook()이 프로그래밍 방식으로 재정의되면,- PYTHONBREAKPOINT는 참조되지 않음에 유의하십시오.- Added in version 3.7. 
- sys._debugmallocstats()¶
- CPython의 메모리 할당자 상태에 대한 저수준 정보를 stderr에 인쇄합니다. - 파이썬이 디버그 모드로 빌드되었으면 ( - configure --with-pydebug option), 값비싼 내부 일관성 검사도 수행합니다.- Added in version 3.3. - 이 함수는 CPython 전용입니다. 정확한 출력 형식은 여기에 정의되어 있지 않으며, 변경될 수 있습니다. 
- sys.displayhook(value)¶
- value가 - None이 아니면, 이 함수는- repr(value)를- sys.stdout으로 인쇄하고, value를- builtins._에 저장합니다.- repr(value)를- sys.stdout.errors에러 처리기(아마도- 'strict')로- sys.stdout.encoding으로 인코딩할 수 없으면,- 'backslashreplace'에러 처리기를 사용하여- sys.stdout.encoding으로 인코딩합니다.- sys.displayhook은 대화형 파이썬 세션에서 입력한 표현식을 평가한 결과에 대해 호출됩니다.- sys.displayhook에 다른 1-인자 함수를 대입하여 이러한 값의 표시를 사용자 정의할 수 있습니다.- 의사 코드: - def displayhook(value): if value is None: return # 재귀를 방지하기 위해 '_' 를 None으로 설정합니다 builtins._ = None text = repr(value) try: sys.stdout.write(text) except UnicodeEncodeError: bytes = text.encode(sys.stdout.encoding, 'backslashreplace') if hasattr(sys.stdout, 'buffer'): sys.stdout.buffer.write(bytes) else: text = bytes.decode(sys.stdout.encoding, 'strict') sys.stdout.write(text) sys.stdout.write("\n") builtins._ = value - 버전 3.2에서 변경: - UnicodeEncodeError에- 'backslashreplace'에러 처리기를 사용합니다.
- sys.dont_write_bytecode¶
- 이것이 참이면, 파이썬은 소스 모듈을 임포트 할 때 - .pyc파일을 쓰려고 하지 않습니다. 이 값은- -B명령 줄 옵션과- PYTHONDONTWRITEBYTECODE환경 변수에 따라 초기에- True나- False로 설정되지만, 바이트 코드 파일 생성을 제어하기 위해 직접 설정할 수 있습니다.
- sys._emscripten_info¶
- A named tuple holding information about the environment on the wasm32-emscripten platform. The named tuple is provisional and may change in the future. - _emscripten_info.emscripten_version¶
- Emscripten version as tuple of ints (major, minor, micro), e.g. - (3, 1, 8).
 - _emscripten_info.runtime¶
- Runtime string, e.g. browser user agent, - 'Node.js v14.18.2', or- 'UNKNOWN'.
 - _emscripten_info.pthreads¶
- Trueif Python is compiled with Emscripten pthreads support.
 - Trueif Python is compiled with shared memory support.
 - 가용성: Emscripten. - Added in version 3.11. 
- sys.pycache_prefix¶
- 이것이 설정되면 ( - None이 아니면), 파이썬은 바이트 코드 캐시- .pyc파일을 소스 코드 트리의- __pycache__디렉터리가 아니라, 이 디렉터리를 루트로 하는 병렬 디렉터리 트리에 씁니다 (그리고 그곳에서 읽습니다). 소스 코드 트리의 모든- __pycache__디렉터리는 무시되고 새- .pyc파일이 이 디렉터리 내에 기록됩니다. 따라서- compileall을 사전 빌드 단계로 사용한다면, 실행 시간에 사용할 같은 pycache 접두어(있다면)로 실행해야 합니다.- 상대 경로는 현재 작업 디렉터리를 기준으로 해석됩니다. - 이 값은 초기에 - -X- pycache_prefix=PATH명령 줄 옵션이나- PYTHONPYCACHEPREFIX환경 변수(명령 줄이 우선합니다)의 값을 기반으로 설정됩니다. 둘 다 설정되지 않으면,- None입니다.- Added in version 3.8. 
- sys.excepthook(type, value, traceback)¶
- 이 함수는 주어진 트레이스백(traceback)과 예외를 - sys.stderr에 인쇄합니다.- SystemExit이외의 예외가 발생하고 잡히지 않을 때, 인터프리터는 세 인자, 예외 클래스, 예외 인스턴스 및 트레이스백 객체로- sys.excepthook을 호출합니다. 대화식 세션에서는 제어가 프롬프트로 반환되기 직전에 일어납니다; 파이썬 프로그램에서는 프로그램이 종료되기 직전에 일어납니다. 이러한 최상위 예외 처리는- sys.excepthook에 다른 3-인자 함수를 대입하여 사용자 정의할 수 있습니다.- 잡히지 않은 예외가 발생할 때 인자 - hook,- type,- value,- traceback로 감사 이벤트- sys.excepthook을 발생시킵니다. 아무런 훅도 설정되지 않았으면,- hook은- None일 수 있습니다. 훅이- RuntimeError에서 파생된 예외를 발생시키면 훅 호출이 억제됩니다. 그렇지 않으면, 감사 훅 예외는 발생시킬 수 없는 것(unraisable)으로 보고되고- sys.excepthook이 호출됩니다.- 더 보기 - sys.unraisablehook()함수는 발생시킬 수 없는 예외(unraisable exception)를 다루고- threading.excepthook()함수는- threading.Thread.run()이 발생시킨 예외를 다룹니다.
- sys.__breakpointhook__¶
- sys.__displayhook__¶
- sys.__excepthook__¶
- sys.__unraisablehook__¶
- 이러한 객체는 프로그램 시작 시 - breakpointhook,- displayhook,- excepthook및- unraisablehook의 원래 값을 포함합니다.- breakpointhook,- displayhook및- excepthook,- unraisablehook이 파손되거나 대체 객체로 교체될 때 복원 할 수 있도록 저장됩니다.- Added in version 3.7: __breakpointhook__ - Added in version 3.8: __unraisablehook__ 
- sys.exception()¶
- This function, when called while an exception handler is executing (such as an - exceptor- except*clause), returns the exception instance that was caught by this handler. When exception handlers are nested within one another, only the exception handled by the innermost handler is accessible.- If no exception handler is executing, this function returns - None.- Added in version 3.11. 
- sys.exc_info()¶
- This function returns the old-style representation of the handled exception. If an exception - eis currently handled (so- exception()would return- e),- exc_info()returns the tuple- (type(e), e, e.__traceback__). That is, a tuple containing the type of the exception (a subclass of- BaseException), the exception itself, and a traceback object which typically encapsulates the call stack at the point where the exception last occurred.- If no exception is being handled anywhere on the stack, this function return a tuple containing three - Nonevalues.- 버전 3.11에서 변경: The - typeand- tracebackfields are now derived from the- value(the exception instance), so when an exception is modified while it is being handled, the changes are reflected in the results of subsequent calls to- exc_info().
- sys.exec_prefix¶
- 플랫폼 특정 파이썬 파일이 설치되는 사이트 특정 디렉터리 접두사를 제공하는 문자열; 기본적으로, 이것은 - '/usr/local'이기도 합니다. configure 스크립트에- --exec-prefix인자를 사용하여 빌드 시 설정할 수 있습니다. 구체적으로, 모든 구성 파일(예를 들어- pyconfig.h헤더 파일)은 디렉터리- exec_prefix/lib/pythonX.Y/config에 설치되고, 공유 라이브러리 모듈은- exec_prefix/lib/pythonX.Y/lib-dynload에 설치됩니다. 여기서 X.Y는 파이썬의 버전 번호입니다, 예를 들어- 3.2.- 참고 - 가상 환경이 유효하면, 이 값은 - site.py에서 가상 환경을 가리키도록 변경됩니다. 파이썬 설치 값은- base_exec_prefix를 통해 계속 제공됩니다.
- sys.executable¶
- 의미가 있는 시스템에서, 파이썬 인터프리터를 위한 실행 바이너리의 절대 경로를 제공하는 문자열. 파이썬이 실행 파일의 실제 경로를 검색할 수 없으면, - sys.executable은 빈 문자열이거나- None입니다.
- sys.exit([arg])¶
- Raise a - SystemExitexception, signaling an intention to exit the interpreter.- 선택적 인자 arg는 종료 상태(기본값은 0)를 나타내는 정수나 다른 형의 객체일 수 있습니다. 정수면, 0은 “성공적인 종료”로 간주하고, 0이 아닌 값은 셸 등이 “비정상 종료”로 간주합니다. 대부분 시스템은 0–127 범위를 요구하고, 그렇지 않으면 정의되지 않은 결과를 생성합니다. 일부 시스템에는 특정 종료 코드에 특정 의미를 지정하는 규칙이 있지만, 일반적으로 잘 개발되지 않은 상태입니다; 유닉스 프로그램은 일반적으로 명령 줄 구문 에러에 2를, 다른 모든 종류의 에러에 1을 사용합니다. 다른 형의 객체가 전달되면, - None은 0을 전달하는 것과 동등하며, 다른 모든 객체는- stderr로 인쇄되고 종료 코드 1을 만듭니다. 특히,- sys.exit("some error message")는 에러가 발생할 때 프로그램을 종료하는 빠른 방법입니다.- exit()는 궁극적으로 “단지” 예외를 발생시키기만 하므로, 메인 스레드에서 호출되고 예외를 가로채지 않을 때만 프로세스를 종료합니다.- try문에서 finally 절로 지정된 정리 작업은 수행되며, 바깥 수준에서의 종료 시도를 가로챌 수 있습니다.- 버전 3.6에서 변경: 파이썬 인터프리터가 - SystemExit를 잡은 후 정리할 때 에러가 발생하면 (가령 표준 스트림에 버퍼링 된 데이터를 플러시할 때의 에러), 종료 상태가 120으로 변경됩니다.
- sys.flags¶
- 네임드 튜플 flags는 명령 줄 플래그의 상태를 노출합니다. 어트리뷰트는 읽기 전용입니다. - flags.debug¶
 - flags.inspect¶
 - flags.interactive¶
 - flags.isolated¶
 - flags.optimize¶
 - flags.dont_write_bytecode¶
 - flags.no_user_site¶
 - flags.no_site¶
 - flags.ignore_environment¶
 - flags.verbose¶
 - flags.bytes_warning¶
 - flags.quiet¶
 - flags.hash_randomization¶
 - flags.dev_mode¶
 - flags.utf8_mode¶
 - flags.safe_path¶
 - flags.int_max_str_digits¶
 - -X int_max_str_digits(integer string conversion length limitation)- flags.warn_default_encoding¶
 - 버전 3.2에서 변경: 새로운 - -q플래그에 대한- quiet어트리뷰트가 추가되었습니다.- Added in version 3.2.3: - hash_randomization어트리뷰트.- 버전 3.3에서 변경: 사용되지 않는 - division_warning어트리뷰트를 제거했습니다.- 버전 3.4에서 변경: - -I- isolated플래그에 대한- isolated어트리뷰트가 추가되었습니다.- 버전 3.7에서 변경: 새로운 파이썬 개발자 모드에 대한 - dev_mode어트리뷰트와 새로운- -X- utf8플래그에 대한- utf8_mode어트리뷰트가 추가되었습니다.- 버전 3.10에서 변경: - -X- warn_default_encoding플래그에 대한- warn_default_encoding어트리뷰트가 추가되었습니다.- 버전 3.11에서 변경: - -P옵션 대한- safe_path어트리뷰트가 추가되었습니다.- 버전 3.11에서 변경: - int_max_str_digits어트리뷰트가 추가되었습니다.
- sys.float_info¶
- float 형에 대한 정보를 담은 네임드 튜플. 정밀도와 내부 표현에 대한 저수준 정보를 포함합니다. 값은 ‘C’ 프로그래밍 언어의 표준 헤더 파일 - float.h에 정의된 다양한 부동 소수점 상수에 해당합니다; 자세한 내용은 1999 ISO/IEC C 표준 [C99] 의 섹션 5.2.4.2.2 ‘Characteristics of floating types’를 참조하십시오.- Attributes of the - float_infonamed tuple¶- 어트리뷰트 - float.h 매크로 - 설명 - float_info.epsilon¶
 - DBL_EPSILON- 1.0과 부동 소수점으로 표현할 수 있는 1.0보다 큰 최솟값의 차이. - math.ulp()도 참조하십시오.- float_info.dig¶
 - DBL_DIG- 부동 소수점으로 충실하게 표현할 수 있는 최대 십진 숫자의 개수; 아래를 참조하십시오. - float_info.mant_dig¶
 - DBL_MANT_DIG- float 정밀도: float의 유효 숫자에서 기본- - radix자릿수.- float_info.max¶
 - DBL_MAX- 최대 표현 가능한 양의 유한 float. - float_info.max_exp¶
 - DBL_MAX_EXP- radix**(e-1)이 표현 가능한 유한 float가 되도록 하는 최대 정수 e.- float_info.max_10_exp¶
 - DBL_MAX_10_EXP- 10**e가 표현 가능한 유한 float의 범위에 있도록 하는 최대 정수 e.- float_info.min¶
 - DBL_MIN- 최소 표현 가능한 양의(positive) 정규화된 float. - math.ulp(0.0)를 사용하여 가장 작은 양의 정규화되지 않은(denormalized) 표현 가능한 float를 얻습니다.- float_info.min_exp¶
 - DBL_MIN_EXP- radix**(e-1)이 정규화된 float가 되도록 하는 최소 정수 e.- float_info.min_10_exp¶
 - DBL_MIN_10_EXP- 10**e가 정규화된 float가 되도록 하는 최소 정수 e.- float_info.radix¶
 - FLT_RADIX- 지수 표현의 기수. - float_info.rounds¶
 - FLT_ROUNDS- 부동 소수점 산술을 위한 자리 올림 모드를 나타내는 정수. 이는 인터프리터 시작 시 시스템 - FLT_ROUNDS매크로의 값을 반영합니다:- -1: indeterminable
- 0: toward zero
- 1: to nearest
- 2: toward positive infinity
- 3: toward negative infinity
 - All other values for - FLT_ROUNDScharacterize implementation-defined rounding behavior.- sys.float_info.dig어트리뷰트는 추가 설명이 필요합니다.- s가 최대- sys.float_info.dig유효 숫자를 가진 십진수를 나타내는 문자열이면,- s를 float로 변환한 후 다시 역변환하면 같은 십진수 값을 나타내는 문자열이 복구됩니다:- >>> import sys >>> sys.float_info.dig 15 >>> s = '3.14159265358979' # 15개의 유효 숫자가 있는 십진수 문자열 >>> format(float(s), '.15g') # float로 변환 후 되돌립니다 -> 같은 값 '3.14159265358979' - 그러나 유효 숫자가 - sys.float_info.dig보다 많은 문자열의 경우, 항상 그렇지는 않습니다:- >>> s = '9876543211234567' # 16개의 유효 숫자는 너무 많습니다! >>> format(float(s), '.16g') # 변환은 값을 바꿉니다 '9876543211234568' 
- sys.float_repr_style¶
- repr()함수가 float에 대해 작동하는 방식을 나타내는 문자열. 문자열이- 'short'값을 가지면, 유한 float- x의 경우,- repr(x)는- float(repr(x)) == x속성을 유지하는 짧은 문자열을 생성하는 것을 목표로 합니다. 이것은 파이썬 3.1 이상에서 일반적인 동작입니다. 그렇지 않으면,- float_repr_style은- 'legacy'값을 가지며- repr(x)는 3.1 이전의 파이썬 버전에서와 같은 방식으로 작동합니다.- Added in version 3.1. 
- sys.getallocatedblocks()¶
- 크기에 상관없이, 인터프리터가 현재 할당한 메모리 블록 수를 반환합니다. 이 함수는 주로 메모리 누수를 추적하고 디버깅하는 데 유용합니다. 인터프리터의 내부 캐시로 인해, 결과는 호출마다 다를 수 있습니다; 보다 예측 가능한 결과를 얻으려면 - _clear_internal_caches()와- gc.collect()를 호출해야 할 수도 있습니다.- 파이썬 빌드나 구현이 이 정보를 합리적으로 계산할 수 없으면, - getallocatedblocks()는 대신 0을 반환할 수 있습니다.- Added in version 3.4. 
- sys.getunicodeinternedsize()¶
- Return the number of unicode objects that have been interned. - Added in version 3.12. 
- sys.getandroidapilevel()¶
- Return the build-time API level of Android as an integer. This represents the minimum version of Android this build of Python can run on. For runtime version information, see - platform.android_ver().- 가용성: Android. - Added in version 3.7. 
- sys.getdefaultencoding()¶
- 'utf-8'을 반환합니다.- str.encode()같은 메서드에서 사용되는, 기본 문자열 인코딩의 이름입니다.
- sys.getdlopenflags()¶
- dlopen()호출에 사용되는 플래그의 현재 값을 반환합니다. 플래그 값의 기호 이름은- os모듈에서 찾을 수 있습니다 (- RTLD_xxx상수, 예를 들어- os.RTLD_LAZY).- 가용성: Unix. 
- sys.getfilesystemencoding()¶
- Get the filesystem encoding: the encoding used with the filesystem error handler to convert between Unicode filenames and bytes filenames. The filesystem error handler is returned from - getfilesystemencodeerrors().- 최상의 호환성을 위해, 파일명을 바이트열로 나타내는 것도 지원되지만, 모든 경우에 파일명에 str을 사용해야 합니다. 파일명을 받아들이거나 반환하는 함수는 str이나 bytes를 지원하고 내부적으로 시스템의 선호되는 표현으로 변환해야 합니다. - 올바른 인코딩과 에러 모드를 사용하려면 - os.fsencode()와- os.fsdecode()를 사용해야 합니다.- The filesystem encoding and error handler are configured at Python startup by the - PyConfig_Read()function: see- filesystem_encodingand- filesystem_errorsmembers of- PyConfig.- 버전 3.2에서 변경: - getfilesystemencoding()결과는 더는- None일 수 없습니다.- 버전 3.6에서 변경: 윈도우는 더는 - 'mbcs'를 반환한다고 보장하지 않습니다. 자세한 정보는 PEP 529와- _enablelegacywindowsfsencoding()를 참조하십시오.- 버전 3.7에서 변경: Return - 'utf-8'if the Python UTF-8 Mode is enabled.
- sys.getfilesystemencodeerrors()¶
- 파일시스템 에러 처리기를 얻습니다: 유니코드 파일명과 바이트열 파일명 사이를 변환하는 파일시스템 인코딩과 함께 사용되는 에러 처리기. 파일시스템 인코딩은 - getfilesystemencoding()에서 반환됩니다.- 올바른 인코딩과 에러 모드를 사용하려면 - os.fsencode()와- os.fsdecode()를 사용해야 합니다.- The filesystem encoding and error handler are configured at Python startup by the - PyConfig_Read()function: see- filesystem_encodingand- filesystem_errorsmembers of- PyConfig.- Added in version 3.6. 
- sys.get_int_max_str_digits()¶
- Returns the current value for the integer string conversion length limitation. See also - set_int_max_str_digits().- Added in version 3.11. 
- sys.getrefcount(object)¶
- object의 참조 횟수를 반환합니다. 반환된 수는 일반적으로 예상보다 1이 높습니다. - getrefcount()에 대한 인자로서의 (임시) 참조를 포함하기 때문입니다.- Note that the returned value may not actually reflect how many references to the object are actually held. For example, some objects are immortal and have a very high refcount that does not reflect the actual number of references. Consequently, do not rely on the returned value to be accurate, other than a value of 0 or 1. - 버전 3.12에서 변경: Immortal objects have very large refcounts that do not match the actual number of references to the object. 
- sys.getrecursionlimit()¶
- 파이썬 인터프리터 스택의 최대 깊이인, 재귀 한계의 현재 값을 반환합니다. 이 제한은 무한 재귀로 인해 C 스택의 오버플로가 발생하고 파이썬이 충돌하는 것을 방지합니다. - setrecursionlimit()로 설정할 수 있습니다.
- sys.getsizeof(object[, default])¶
- 객체의 크기를 바이트 단위로 반환합니다. 객체는 모든 형의 객체일 수 있습니다. 모든 내장 객체는 올바른 결과를 반환하지만, 구현 특정이기 때문에 제삼자 확장에서도 그렇다고 보장할 수는 없습니다. - 객체에 직접 기여한 메모리 소비만 포함하며, 이 객체가 참조하는 객체의 메모리 소비는 따지지 않습니다. - 주어진 경우, 객체가 크기를 조회하는 수단을 제공하지 않으면 default가 반환됩니다. 그렇지 않으면 - TypeError가 발생합니다.- getsizeof()는 객체의- __sizeof__메서드를 호출하고 객체가 가비지 수거기에 의해 관리되면 추가 가비지 수거기 오버헤드를 추가합니다.- 컨테이너와 모든 내용물의 크기를 찾기 위해 - getsizeof()를 재귀적으로 사용하는 예는 recursive sizeof recipe를 참조하십시오.
- sys.getswitchinterval()¶
- 인터프리터의 “스레드 스위치 간격”을 초 단위로 반환합니다; - setswitchinterval()을 참조하십시오.- Added in version 3.2. 
- sys._getframe([depth])¶
- 호출 스택에서 프레임 객체를 반환합니다. 선택적 정수 depth가 제공되면, 스택 맨 위에서 지정한 수 만큼 아래에 있는 호출의 프레임 객체를 반환합니다. 호출 스택보다 깊으면, - ValueError가 발생합니다. depth의 기본값은 0이며, 호출 스택의 맨 위에 있는 프레임을 반환합니다.- 인자 - frame으로 감사 이벤트- sys._getframe을 발생시킵니다.- 이 함수는 내부와 특수 목적으로만 사용해야 합니다. 모든 파이썬 구현에 존재한다고 보장되는 것은 아닙니다. 
- sys._getframemodulename([depth])¶
- 호출 스택에서 모듈의 이름을 반환합니다. 선택적 정수 depth가 제공되면, 스택 맨 위에서 지정한 수 만큼 아래에 있는 호출의 모듈을 반환합니다. 호출 스택보다 깊거나, 모듈을 식별할 수 없으면, - None이 반환됩니다. depth의 기본값은 0이며, 호출 스택의 맨 위에 있는 모듈을 반환합니다.- 인자 - depth로 감사 이벤트- sys._getframemodulename을 발생시킵니다.- 이 함수는 내부와 특수 목적으로만 사용해야 합니다. 모든 파이썬 구현에 존재한다고 보장되는 것은 아닙니다. - Added in version 3.12. 
- sys.getobjects(limit[, type])¶
- This function only exists if CPython was built using the specialized configure option - --with-trace-refs. It is intended only for debugging garbage-collection issues.- Return a list of up to limit dynamically allocated Python objects. If type is given, only objects of that exact type (not subtypes) are included. - Objects from the list are not safe to use. Specifically, the result will include objects from all interpreters that share their object allocator state (that is, ones created with - PyInterpreterConfig.use_main_obmallocset to 1 or using- Py_NewInterpreter(), and the main interpreter). Mixing objects from different interpreters may lead to crashes or other unexpected behavior.- 이 함수는 특수 목적으로만 사용해야 합니다. 모든 파이썬 구현에 존재한다고 보장되는 것은 아닙니다. - 버전 3.13.1에서 변경: The result may include objects from other interpreters. 
- sys.getprofile()¶
- setprofile()에 의해 설정된 프로파일러 함수를 얻습니다.
- sys.gettrace()¶
- settrace()에 의해 설정된 추적 함수를 얻습니다.- gettrace()함수는 디버거, 프로파일러, 커버리지 도구 등을 구현하기 위한 것입니다. 그 동작은 언어 정의의 일부라기보다는 구현 플랫폼의 일부이기 때문에, 모든 파이썬 구현에서 사용 가능한 것은 아닙니다.
- sys.getwindowsversion()¶
- 현재 실행 중인 윈도우 버전을 설명하는 네임드 튜플을 반환합니다. 명명된 요소는 major, minor, build, platform, service_pack, service_pack_minor, service_pack_major, suite_mask, product_type 및 platform_version입니다. service_pack은 문자열을 포함하고 platform_version은 3-튜플이며 다른 모든 값은 정수입니다. 구성 요소는 이름으로도 액세스할 수 있어서, - sys.getwindowsversion()[0]은- sys.getwindowsversion().major와 동등합니다. 이전 버전과의 호환성을 위해, 처음 5개 요소 만 인덱싱을 통해 꺼낼 수 있습니다.- platform은 - 2(VER_PLATFORM_WIN32_NT) 입니다.- product_type은 다음 값 중 하나일 수 있습니다: - 상수 - 의미 - 1(VER_NT_WORKSTATION)- 시스템은 워크 스테이션입니다. - 2(VER_NT_DOMAIN_CONTROLLER)- 시스템은 도메인 컨트롤러입니다. - 3(VER_NT_SERVER)- 시스템은 서버이지만, 도메인 컨트롤러는 아닙니다. - 이 함수는 Win32 - GetVersionEx()함수를 감쌉니다; 이러한 필드에 대한 자세한 내용은- OSVERSIONINFOEX()에 대한 마이크로소프트 설명서를 참조하십시오.- platform_version은 프로세스에 대해 에뮬레이션 되는 버전이 아니라, 주 버전, 부 버전 및 현재 운영 체제의 빌드 번호를 반환합니다. 기능 감지가 아닌 로깅에 사용하기 위한 것입니다. - 참고 - platform_version derives the version from kernel32.dll which can be of a different version than the OS version. Please use - platformmodule for achieving accurate OS version.- 가용성: Windows. - 버전 3.2에서 변경: 네임드 튜플로 변경되어 service_pack_minor, service_pack_major, suite_mask 및 product_type이 추가되었습니다. - 버전 3.6에서 변경: platform_version을 추가했습니다 
- sys.get_asyncgen_hooks()¶
- (firstiter, finalizer)형식의- namedtuple과 유사한 asyncgen_hooks 객체를 반환합니다. 여기서 firstiter와 finalizer는- None이나 비동기 제너레이터 이터레이터를 인자로 취하는 함수로 기대되며, 이벤트 루프에 의해 비동기 제너레이터의 파이널리제이션을 스케줄 하는 데 사용됩니다.- Added in version 3.6: 자세한 내용은 PEP 525를 참조하십시오. - 참고 - 이 함수는 잠정적(provisional)으로 추가되었습니다 (자세한 내용은 PEP 411을 참조하십시오). 
- sys.get_coroutine_origin_tracking_depth()¶
- set_coroutine_origin_tracking_depth()로 설정된 현재 코루틴 원점 추적 깊이를 가져옵니다.- Added in version 3.7. - 참고 - 이 함수는 잠정적(provisional)으로 추가되었습니다 (자세한 내용은 PEP 411을 참조하십시오). 디버깅 목적으로만 사용하십시오. 
- sys.hash_info¶
- 숫자 해시 구현의 매개 변수를 제공하는 네임드 튜플. 숫자 형의 해싱에 대한 자세한 내용은 숫자 형의 해싱을 참조하십시오. - hash_info.width¶
- 해시값에 사용되는 비트 폭 
 - hash_info.modulus¶
- 수치 해시 체계에 사용되는 소수 모듈러스 P 
 - hash_info.inf¶
- 양의 무한대에 대해 반환된 해시값 
 - hash_info.nan¶
- (This attribute is no longer used) 
 - hash_info.imag¶
- 복소수의 허수부에 사용되는 승수(multiplier) 
 - hash_info.algorithm¶
- str, bytes 및 memoryview의 해싱 알고리즘 이름 
 - hash_info.hash_bits¶
- 해시 알고리즘의 내부 출력 크기 
 - hash_info.seed_bits¶
- 해시 알고리즘의 시드 키 크기 
 - Added in version 3.2. - 버전 3.4에서 변경: algorithm, hash_bits 및 seed_bits를 추가했습니다 
- sys.hexversion¶
- 단일 정수로 인코딩된 버전 번호. 이것은 비 프로덕션 릴리스에 대한 적절한 지원을 포함하여, 버전마다 증가함이 보장됩니다. 예를 들어, 파이썬 인터프리터가 버전 1.5.2 이상인지 검사하려면, 다음을 사용하십시오: - if sys.hexversion >= 0x010502F0: # 고급 기능을 사용합니다 ... else: # 대안 구현을 사용하거나 사용자에게 경고합니다 ... - 내장 - hex()함수에 전달한 결과로 볼 때만 실제로 의미가 있기 때문에 이것을- hexversion이라고 합니다. 네임드 튜플- sys.version_info는 같은 정보의 더 인간 친화적인 인코딩으로 사용될 수 있습니다.- hexversion에 대한 자세한 내용은 API와 ABI 버전 붙이기 에서 찾을 수 있습니다.
- sys.implementation¶
- 현재 실행 중인 파이썬 인터프리터의 구현에 대한 정보가 포함된 객체. 모든 파이썬 구현에서 다음과 같은 어트리뷰트가 있어야 합니다. - name은 구현 식별자입니다, 예를 들어 - 'cpython'. 실제 문자열은 파이썬 구현에 의해 정의되지만, 소문자임이 보장됩니다.- version은 - sys.version_info와 같은 형식의 네임드 튜플입니다. 파이썬 구현의 버전을 나타냅니다. 이것은 현재 실행 중인 인터프리터가 준수하는,- sys.version_info가 나타내는, 특정 버전의 파이썬 언어와는 다른 의미입니다. 예를 들어, PyPy 1.8의 경우- sys.implementation.version은- sys.version_info(1, 8, 0, 'final', 0)일 수 있지만,- sys.version_info는- sys.version_info(2, 7, 2, 'final', 0)입니다. CPython의 경우 참조 구현이기 때문에 같은 값입니다.- hexversion은 - sys.hexversion과 같은 16진수 형식의 구현 버전입니다.- cache_tag는 임포트 절차에서 캐시 된 모듈의 파일명에 사용되는 태그입니다. 관습상, - 'cpython-33'과 같이 구현 이름과 버전을 합성한 것입니다. 그러나, 파이썬 구현은 적절하다면 다른 값을 사용할 수 있습니다.- cache_tag가- None으로 설정되면, 모듈 캐싱을 사용하지 않아야 함을 나타냅니다.- sys.implementation은 파이썬 구현에 고유한 추가 어트리뷰트를 포함할 수 있습니다. 이러한 비표준 어트리뷰트는 밑줄로 시작해야 하며, 여기에서는 설명하지 않습니다. 내용과 관계없이,- sys.implementation은 인터프리터 실행 중이나 구현 버전 간에 변경되지 않습니다. (그러나, 파이썬 언어 버전 간에는 변경될 수 있습니다.) 자세한 정보는 PEP 421을 참조하십시오.- Added in version 3.3. - 참고 - 새로운 필수 어트리뷰트를 추가하려면 일반 PEP 프로세스를 거쳐야 합니다. 자세한 정보는 PEP 421을 참조하십시오. 
- sys.int_info¶
- 파이썬의 정수 내부 표현에 대한 정보를 담고 있는 네임드 튜플. 어트리뷰트는 읽기 전용입니다. - int_info.bits_per_digit¶
- 각 자릿수에 담긴 비트 수. 파이썬 정수는 내부적으로 기수(base) - 2**int_info.bits_per_digit로 저장됩니다.
 - int_info.sizeof_digit¶
- 자릿수를 나타내는 데 사용되는 C형의 바이트 단위 크기. 
 - int_info.default_max_str_digits¶
- The default value for - sys.get_int_max_str_digits()when it is not otherwise explicitly configured.
 - int_info.str_digits_check_threshold¶
- The minimum non-zero value for - sys.set_int_max_str_digits(),- PYTHONINTMAXSTRDIGITS, or- -X int_max_str_digits.
 - Added in version 3.1. - 버전 3.11에서 변경: Added - default_max_str_digitsand- str_digits_check_threshold.
- sys.__interactivehook__¶
- 이 어트리뷰트가 존재하면, 대화형 모드로 인터프리터가 시작될 때 해당 값이 (인자 없이) 자동으로 호출됩니다. 이것은 - PYTHONSTARTUP파일을 읽은 후에 수행되므로, 그곳에서 이 훅을 설정할 수 있습니다.- site모듈은 이것을 설정합니다.- 시작 시 훅이 호출될 때 훅 객체를 인자로 감사 이벤트 - cpython.run_interactivehook을 발생시킵니다.- Added in version 3.4. 
- sys.intern(string)¶
- “인턴 된(interned)” 문자열 테이블에 string을 넣고, string 자신이거나 사본인 인턴 된 문자열을 반환합니다. 문자열을 인턴 하는 것은 딕셔너리 조회에서 약간의 성능 개선을 얻는 데 유용합니다 – 딕셔너리의 키가 인턴 되고. 조회 키가 인턴 되면, (해싱 후의) 키 비교는 문자열 비교 대신 포인터 비교를 수행 할 수 있습니다. 일반적으로, 파이썬 프로그램에서 사용되는 이름은 자동으로 인턴 되며, 모듈, 클래스 또는 인스턴스 어트리뷰트를 담는 데 사용되는 딕셔너리는 인턴 된 키를 갖습니다. - 인턴 된 문자열은 불멸이 아닙니다; 이점을 얻으려면 - intern()의 반환 값에 대한 참조를 유지해야 합니다.
- sys._is_gil_enabled()¶
- Return - Trueif the GIL is enabled and- Falseif it is disabled.- Added in version 3.13. - 모든 파이썬 구현에 존재한다고 보장되는 것은 아닙니다. 
- sys.is_finalizing()¶
- 메인 파이썬 인터프리터가 종료 중이면 - True를 반환합니다. 그렇지 않으면- False를 반환합니다.- See also the - PythonFinalizationErrorexception.- Added in version 3.5. 
- sys.last_exc¶
- 이 변수가 항상 정의되는 것은 아닙니다; 예외가 처리되지 않고 인터프리터가 에러 메시지와 스택 트레이스백을 인쇄할 때 예외 인스턴스로 설정됩니다. 의도된 용도는 대화형 사용자가 디버거 모듈을 임포트하고 에러를 일으킨 명령을 다시 실행하지 않고도 사후 디버깅에 참여할 수 있도록 하는 것입니다. (사후 디버거에 들어가기 위해 일반적으로 - import pdb; pdb.pm()을 사용합니다; 자세한 내용은- pdb모듈을 참조하십시오.)- Added in version 3.12. 
- sys._is_interned(string)¶
- 주어진 문자열이 “인턴” 되었으면 - True를, 그렇지 않으면- False를 반환합니다.- Added in version 3.13. - 모든 파이썬 구현에 존재한다고 보장되는 것은 아닙니다. 
- sys.last_type¶
- sys.last_value¶
- sys.last_traceback¶
- These three variables are deprecated; use - sys.last_excinstead. They hold the legacy representation of- sys.last_exc, as returned from- exc_info()above.
- sys.maxsize¶
- Py_ssize_t형의 변수가 취할 수 있는 최댓값을 제공하는 정수. 일반적으로 32비트 플랫폼에서는- 2**31 - 1이고 64비트 플랫폼에서는- 2**63 - 1입니다.
- sys.maxunicode¶
- 가장 큰 유니코드 코드 포인트의 값을 제공하는 정수, 즉 - 1114111(16진수로- 0x10FFFF).- 버전 3.3에서 변경: PEP 393 이전에는, 유니코드 문자가 UCS-2와 UCS-4 중 어는 것으로 저장되었는지를 지정하는 구성 옵션에 따라, - sys.maxunicode는- 0xFFFF나- 0x10FFFF이었습니다.
- sys.meta_path¶
- 메타 경로 파인더 객체의 리스트. 이 객체의 - find_spec()메서드를 호출해서 임포트 할 모듈을 찾을 수 있는지 확인할 수 있습니다. 기본적으로, 파이썬의 기본 임포트 의미 체계를 구현하는 항목들을 포함합니다. 최소한 임포트 할 모듈의 절대 이름으로- find_spec()메서드가 호출됩니다. 임포트 할 모듈이 패키지에 포함되어 있으면, 부모 패키지의- __path__어트리뷰트가 두 번째 인자로 전달됩니다. 이 메서드는 모듈 스펙이나 모듈을 찾을 수 없으면- None을 반환합니다.- 더 보기 - importlib.abc.MetaPathFinder
- meta_path에 있는 파인더 객체의 인터페이스를 정의하는 추상 베이스 클래스.
- importlib.machinery.ModuleSpec
- find_spec()이 이 구상 클래스의 인스턴스를 반환해야 합니다.
 - 버전 3.12에서 변경: - meta_path항목에- find_spec()메서드가 없으면- find_module()메서드를 찾는 폴백을 제거했습니다.
- sys.modules¶
- 이것은 모듈 이름을 이미 로드된 모듈로 매핑하는 딕셔너리입니다. 모듈의 재로딩과 기타 트릭을 강제하기 위해 조작할 수 있습니다. 그러나 딕셔너리를 교체하는 것은 예상대로 작동하지는 않으며 딕셔너리에서 필수 항목을 삭제하면 파이썬이 실패할 수 있습니다. 이 전역 딕셔너리를 이터레이트 하려면 항상 - sys.modules.copy()또는- tuple(sys.modules)를 사용하여, 다른 스레드의 코드나 활동의 부작용으로 인해 이터레이션 중 딕셔너리 크기가 변경되어 발생하는 예외를 피하십시오.
- sys.orig_argv¶
- The list of the original command line arguments passed to the Python executable. - The elements of - sys.orig_argvare the arguments to the Python interpreter, while the elements of- sys.argvare the arguments to the user’s program. Arguments consumed by the interpreter itself will be present in- sys.orig_argvand missing from- sys.argv.- Added in version 3.10. 
- sys.path¶
- 모듈의 검색 경로를 지정하는 문자열 리스트. 환경 변수 - PYTHONPATH와 설치 종속 기본값으로 초기화되었습니다.- By default, as initialized upon program startup, a potentially unsafe path is prepended to - sys.path(before the entries inserted as a result of- PYTHONPATH):- python -m module명령 줄: 현재 작업 디렉터리를 앞에 붙입니다.
- python script.pycommand line: prepend the script’s directory. If it’s a symbolic link, resolve symbolic links.
- python -c codeand- python(REPL) command lines: prepend an empty string, which means the current working directory.
 - To not prepend this potentially unsafe path, use the - -Pcommand line option or the- PYTHONSAFEPATHenvironment variable.- 프로그램은 자체 목적으로 이 리스트를 자유롭게 수정할 수 있습니다. 문자열만 - sys.path에 추가해야 합니다; 임포트 하는 동안 다른 모든 데이터형은 무시됩니다.
- sys.path_hooks¶
- 경로 인자를 취해서 경로를 위한 파인더를 만들려고 시도하는 콜러블의 리스트. 파인더를 만들 수 있으면, 콜러블이 반환하고, 그렇지 않으면 - ImportError를 발생시킵니다.- 원래 PEP 302에서 지정되었습니다. 
- sys.path_importer_cache¶
- 파인더 객체의 캐시 역할을 하는 딕셔너리. 키는 - sys.path_hooks에 전달된 경로이며 값은 찾은 파인더입니다. 경로가 유효한 파일 시스템 경로이지만- sys.path_hooks에 파인더가 없으면- None이 저장됩니다.- 원래 PEP 302에서 지정되었습니다. 
- sys.platform¶
- A string containing a platform identifier. Known values are: - 시스템 - platform값- AIX - 'aix'- 안드로이드 - 'android'- Emscripten - 'emscripten'- iOS - 'ios'- 리눅스 - 'linux'- 맥 OS - 'darwin'- 윈도우 - 'win32'- 윈도우/Cygwin - 'cygwin'- WASI - 'wasi'- 표에 나열되지 않은 유닉스 시스템에서, 이 값은 파이썬이 빌드될 때 - uname -s에 의해 반환되는 소문자 OS 이름에- uname -r에 의해 반환되는 버전의 첫 번째 부분을 덧붙인 것입니다, 예를 들어- 'sunos5'나- 'freebsd8'. 특정 시스템 버전을 테스트하려는 것이 아닌 한, 다음 관용구를 사용하는 것이 좋습니다:- if sys.platform.startswith('freebsd'): # 여기에 FreeBSD 특정 코드... - 버전 3.3에서 변경: 리눅스에서, - sys.platform은 더는 주 버전을 포함하지 않습니다.- 'linux2'나- 'linux3'대신, 항상- 'linux'입니다.- 버전 3.8에서 변경: AIX에서, - sys.platform은 더는 주 버전을 포함하지 않습니다.- 'aix5'나- 'aix7'대신, 항상- 'aix'입니다.- 버전 3.13에서 변경: On Android, - sys.platformnow returns- 'android'rather than- 'linux'.
- sys.platlibdir¶
- 플랫폼별 라이브러리 디렉터리의 이름. 표준 라이브러리의 경로와 설치된 확장 모듈들의 경로를 빌드하는 데 사용됩니다. - 대부분의 플랫폼에서 - "lib"와 같습니다. Fedora와 SuSE에서는, 64비트 플랫폼에서- "lib64"와 같으며 다음과 같은- sys.path경로를 제공합니다 (- X.Y는 파이썬- major.minor버전):- /usr/lib64/pythonX.Y/: 표준 라이브러리 (- os모듈의- os.py와 같은)
- /usr/lib64/pythonX.Y/lib-dynload/: 표준 라이브러리의 C 확장 모듈 (- errno모듈과 같은, 정확한 파일 이름은 플랫폼에 따라 다릅니다)
- /usr/lib/pythonX.Y/site-packages/(항상- lib를 사용합니다,- sys.platlibdir이 아닙니다): 제삼자 모듈
- /usr/lib64/pythonX.Y/site-packages/: 제삼자 패키지의 C 확장 모듈
 - Added in version 3.9. 
- sys.prefix¶
- 플랫폼 독립적인 파이썬 파일이 설치되는 사이트별 디렉터리 접두사를 제공하는 문자열; 유닉스에서, 기본 값은 - /usr/local입니다. configure 스크립트에 대한- --prefix인자를 사용하여 빌드 시 설정할 수 있습니다. 파생 경로는 설치 경로를 참조하십시오.- 참고 - 가상 환경이 유효하면, 이 값은 - site.py에서 가상 환경을 가리키도록 변경됩니다. 파이썬 설치 값은- base_prefix를 통해 계속 사용할 수 있습니다.
- sys.ps1¶
- sys.ps2¶
- 인터프리터의 기본과 보조 프롬프트를 지정하는 문자열. 인터프리터가 대화형 모드일 때만 정의됩니다. 이 경우 초깃값은 - '>>> '과- '... '입니다. 문자열이 아닌 객체가 어느 변수에라도 지정되면, 인터프리터가 새 대화식 명령을 읽을 준비를 할 때마다 그 객체의- str()이 재평가됩니다; 동적 프롬프트를 구현하는 데 사용할 수 있습니다.
- sys.setdlopenflags(n)¶
- 인터프리터가 확장 모듈을 로드할 때와 같이 - dlopen()호출에 인터프리터가 사용하는 플래그를 설정합니다. 무엇보다도, 이것은- sys.setdlopenflags(0)라고 호출하는 경우, 모듈을 임포트 할 때 심볼의 지연된 결정(lazy resolving)을 활성화합니다. 확장 모듈 간에 심볼을 공유하려면,- sys.setdlopenflags(os.RTLD_GLOBAL)로 호출하십시오. 플래그 값의 기호 이름은- os모듈에서 찾을 수 있습니다 (- RTLD_xxx상수, 예를 들어- os.RTLD_LAZY).- 가용성: Unix. 
- sys.set_int_max_str_digits(maxdigits)¶
- Set the integer string conversion length limitation used by this interpreter. See also - get_int_max_str_digits().- Added in version 3.11. 
- sys.setprofile(profilefunc)¶
- 시스템의 프로파일 함수를 설정합니다. 파이썬에서 파이썬 소스 코드 프로파일러를 구현할 수 있도록 합니다. 파이썬 프로파일러에 대한 자세한 내용은 파이썬 프로파일러 장을 참조하십시오. 시스템의 프로파일 함수는 시스템의 추적 함수( - settrace()를 참조하십시오)와 유사하게 호출되지만, 다른 이벤트로 호출됩니다, 예를 들어 이 함수는 실행되는 줄마다 호출되지 않습니다 (오직 호출과 반환에서만 호출됩니다만, 예외가 설정되었을 때도 반환 이벤트가 보고됩니다). 이 함수는 스레드로 한정되지만, 프로파일러가 스레드 간의 컨텍스트 전환에 대해 알 방법이 없어서, 여러 스레드가 있을 때 이를 사용하는 것은 의미가 없습니다. 또한, 반환 값이 사용되지 않아서, 단순히- None을 반환할 수 있습니다. 프로파일 함수에서 에러가 발생하면 설정이 해제됩니다.- 참고 - The same tracing mechanism is used for - setprofile()as- settrace(). To trace calls with- setprofile()inside a tracing function (e.g. in a debugger breakpoint), see- call_tracing().- 프로파일 함수에는 세 가지 인자가 있습니다: frame, event 및 arg. frame은 현재 스택 프레임입니다. event는 문자열입니다: - 'call',- 'return',- 'c_call',- 'c_return'또는- 'c_exception'. arg는 이벤트 유형에 따라 다릅니다.- 이벤트의 의미는 다음과 같습니다: - 'call'
- 함수가 호출되었습니다 (또는 다른 코드 블록에 진입했습니다). 프로파일 함수가 호출됩니다; arg는 - None입니다.
- 'return'
- 함수(또는 다른 코드 블록)가 반환하려고 합니다. 프로파일 함수가 호출됩니다; arg는 반환될 값이거나, 예외가 발생하여 이벤트가 발생한 경우는 - None입니다.
- 'c_call'
- C 함수를 호출하려고 합니다. 확장 함수나 내장일 수 있습니다. arg는 C 함수 객체입니다. 
- 'c_return'
- C 함수가 반환했습니다. arg는 C 함수 객체입니다. 
- 'c_exception'
- C 함수에서 예외가 발생했습니다. arg는 C 함수 객체입니다. 
 - 인자 없이 감사 이벤트 - sys.setprofile을 발생시킵니다.
- sys.setrecursionlimit(limit)¶
- 파이썬 인터프리터 스택의 최대 깊이를 limit로 설정합니다. 이 제한은 무한 재귀로 인해 C 스택의 오버플로가 발생하고 파이썬이 충돌하는 것을 방지합니다. - 가능한 최대 제한은 플랫폼에 따라 다릅니다. 사용자는 깊은 재귀가 필요한 프로그램과 더 높은 제한을 지원하는 플랫폼이 있을 때 제한을 더 높게 설정해야 할 수 있습니다. 제한이 너무 높으면 충돌이 발생할 수 있기 때문에, 주의해서 사용해야 합니다. - 현재 재귀 깊이에서 새 제한이 너무 낮으면 - RecursionError예외가 발생합니다.- 버전 3.5.1에서 변경: 현재 재귀 깊이에서 새 한계가 너무 낮으면 이제 - RecursionError예외가 발생합니다.
- sys.setswitchinterval(interval)¶
- 인터프리터의 스레드 전환 간격을 (초 단위로) 설정합니다. 이 부동 소수점 값은 동시에 실행 중인 파이썬 스레드에 할당된 “시 분할(timeslices)”의 이상적인 지속 시간을 결정합니다. 특히 오래 실행되는 내부 함수나 메서드가 사용된다면, 실제 값은 더 클 수 있음에 유의하십시오. 또한, 간격이 끝날 때 어떤 스레드가 예약되는지는 운영 체제의 결정입니다. 인터프리터에는 자체 스케줄러가 없습니다. - Added in version 3.2. 
- sys.settrace(tracefunc)¶
- 시스템의 추적 함수를 설정합니다. 파이썬에서 파이썬 소스 코드 디버거를 구현할 수 있도록 합니다. 이 함수는 스레드로 한정됩니다; 디버거가 여러 스레드를 지원하려면, 디버깅 중인 각 스레드에 대해 - settrace()를 사용하여 추적 함수를 등록하거나,- threading.settrace()를 사용해야 합니다.- Trace functions should have three arguments: frame, event, and arg. frame is the current stack frame. event is a string: - 'call',- 'line',- 'return',- 'exception'or- 'opcode'. arg depends on the event type.- 추적 함수는 새로운 로컬 스코프에 진입할 때마다 호출됩니다 (event가 - 'call'로 설정됩니다); 새 스코프에서 사용될 지역 추적 함수(local trace function)에 대한 참조를 반환하거나, 스코프를 추적하지 않아야 하면- None을 반환해야 합니다.- 지역 추적 함수는 자기 자신, 또는 해당 스코프의 지역 추적 합수로 사용될 다른 함수에 대한 참조를 반환해야 합니다. - 추적 함수에서 에러가 발생하면, - settrace(None)이 호출되는 것처럼 설정이 해제됩니다.- 참고 - Tracing is disabled while calling the trace function (e.g. a function set by - settrace()). For recursive tracing see- call_tracing().- 이벤트의 의미는 다음과 같습니다: - 'call'
- 함수가 호출되었습니다 (또는 다른 코드 블록에 진입했습니다). 전역 추적 함수가 호출됩니다; arg는 - None입니다; 반환 값은 지역 추적 함수를 지정합니다.
- 'line'
- 인터프리터가 새로운 코드 줄을 실행하거나 루프의 조건을 다시 실행하려고 합니다. 지역 추적 함수가 호출됩니다; arg는 - None입니다; 반환 값은 새로운 지역 추적 함수를 지정합니다. 작동 방식에 대한 자세한 설명은- Objects/lnotab_notes.txt를 참조하십시오. 해당 프레임에서- f_trace_lines를- False로 설정하여 줄별 이벤트를 비활성화 할 수 있습니다.
- 'return'
- 함수(또는 다른 코드 블록)가 반환하려고 합니다. 지역 추적 함수가 호출됩니다; arg는 반환될 값이거나, 예외가 발생하여 이벤트가 발생한 경우는 - None입니다. 추적 함수의 반환 값은 무시됩니다.
- 'exception'
- 예외가 발생했습니다. 지역 추적 함수가 호출됩니다; arg는 튜플 - (exception, value, traceback)입니다; 반환 값은 새로운 지역 추적 함수를 지정합니다.
- 'opcode'
- 인터프리터가 새 옵코드(opcode)를 실행하려고 합니다 (opcode 세부 사항은 - dis를 참조하십시오). 지역 추적 함수가 호출됩니다; arg는- None입니다; 반환 값은 새로운 지역 추적 함수를 지정합니다. 옵코드 별 이벤트는 기본적으로 발생하지 않습니다; 해당 프레임에서- f_trace_opcodes를- True로 설정하여 명시적으로 요청해야 합니다.
 - 호출자 체인을 따라 예외가 전파됨에 따라, 각 수준에서 - 'exception'이벤트가 생성됨에 유의하십시오.- 더 세분된 사용을 위해, 이미 설치된 추적 함수의 반환 값을 통해 간접적으로 설정되는 것에 의존하는 대신, - frame.f_trace = tracefunc를 명시적으로 대입하여 추적 함수를 설정할 수 있습니다. 이것은 현재 프레임에서 추적 함수를 활성화하는 데에도 필요한데,- settrace()가 하지 않는 일입니다. 이것이 작동하려면 실행 시간 추적 장치를 활성화하기 위해 전역 추적 함수가- settrace()로 설치되어 있어야 하지만, 같은 추적 함수 일 필요는 없음에 유의하십시오 (예를 들어, 각 프레임에서 즉시 비활성화되도록 단순히- None을 반환하는 오버헤드가 낮은 추적 함수일 수 있습니다).- 코드와 프레임 객체에 대한 자세한 내용은 표준형 계층를 참조하십시오. - 인자 없이 감사 이벤트 - sys.settrace를 발생시킵니다.- settrace()함수는 오직 디버거, 프로파일러, 커버리지(coverage) 도구 등을 구현하기 위한 것입니다. 그 동작은 언어 정의의 일부라기보다는 구현 플랫폼의 일부라서, 모든 파이썬 구현에서 사용 가능한 것은 아닙니다.- 버전 3.7에서 변경: - 'opcode'이벤트 유형이 추가되었습니다;- f_trace_lines와- f_trace_opcodes어트리뷰트가 프레임에 추가되었습니다
- sys.set_asyncgen_hooks([firstiter] [, finalizer])¶
- 두 개의 선택적 키워드 인자를 받아들이는데, 모두 비동기 제너레이터 이터레이터를 인자로 받아들이는 콜러블입니다. 비동기 제너레이터가 처음으로 이터레이트 될 때 firstiter 콜러블이 호출됩니다. 비동기 제너레이터가 가비지 수거될 때 finalizer가 호출됩니다. - 인자 없이 감사 이벤트 - sys.set_asyncgen_hooks_firstiter를 발생시킵니다.- 인자 없이 감사 이벤트 - sys.set_asyncgen_hooks_finalizer를 발생시킵니다.- 하부 API는 두 개의 호출로 구성되기 때문에, 두 개의 감사 이벤트가 발생합니다, 각각은 자체 이벤트를 발생시켜야 합니다. - Added in version 3.6: 자세한 내용은 PEP 525를 참조하고, finalizer 메서드의 참조 예제는 Lib/asyncio/base_events.py의 - asyncio.Loop.shutdown_asyncgens구현을 참조하십시오.- 참고 - 이 함수는 잠정적(provisional)으로 추가되었습니다 (자세한 내용은 PEP 411을 참조하십시오). 
- sys.set_coroutine_origin_tracking_depth(depth)¶
- 코루틴 원점 추적을 활성화하거나 비활성화하도록 합니다. 활성화하면, 코루틴 객체의 - cr_origin어트리뷰트에 코루틴 객체가 만들어진 트레이스백을 설명하는 (파일명, 줄 번호, 함수 이름) 튜플이 포함됩니다. 가장 최근의 호출이 먼저 옵니다. 비활성화하면- cr_origin은- None입니다.- 활성화하려면, 0보다 큰 depth 값을 전달하십시오; 정보를 캡처할 프레임 수를 설정합니다. 비활성화하려면, depth를 0으로 전달하십시오. - 이 설정은 스레드에 한정됩니다. - Added in version 3.7. - 참고 - 이 함수는 잠정적(provisional)으로 추가되었습니다 (자세한 내용은 PEP 411을 참조하십시오). 디버깅 목적으로만 사용하십시오. 
- sys.activate_stack_trampoline(backend, /)¶
- Activate the stack profiler trampoline backend. The only supported backend is - "perf".- 가용성: Linux. - Added in version 3.12. 
- sys.deactivate_stack_trampoline()¶
- Deactivate the current stack profiler trampoline backend. - If no stack profiler is activated, this function has no effect. - 가용성: Linux. - Added in version 3.12. 
- sys.is_stack_trampoline_active()¶
- Return - Trueif a stack profiler trampoline is active.- 가용성: Linux. - Added in version 3.12. 
- sys._enablelegacywindowsfsencoding()¶
- 3.6 이전의 파이썬 버전과 일관성을 유지하기 위해, 파일 시스템 인코딩과 에러 처리기를 각각 ‘mbcs’와 ‘replace’로 변경합니다. - 이것은 파이썬을 시작하기 전에 - PYTHONLEGACYWINDOWSFSENCODING환경 변수를 정의하는 것과 동등합니다.- See also - sys.getfilesystemencoding()and- sys.getfilesystemencodeerrors().- 가용성: Windows. - 참고 - Changing the filesystem encoding after Python startup is risky because the old fsencoding or paths encoded by the old fsencoding may be cached somewhere. Use - PYTHONLEGACYWINDOWSFSENCODINGinstead.- Added in version 3.6: 자세한 내용은 PEP 529를 참조하십시오. - Deprecated since version 3.13, will be removed in version 3.16: Use - PYTHONLEGACYWINDOWSFSENCODINGinstead.
- sys.stdin¶
- sys.stdout¶
- sys.stderr¶
- 인터프리터가 표준 입력, 출력 및 에러에 사용하는 파일 객체: - stdin는 모든 대화식 입력에 사용됩니다 (- input()호출을 포함합니다);
- 인터프리터 자신의 프롬프트와 에러 메시지는 - stderr로 갑니다.
 - 이 스트림은 - open()함수에 의해 반환되는 것과 같은 일반적인 텍스트 파일입니다. 매개 변수는 다음과 같이 선택됩니다:- The encoding and error handling are is initialized from - PyConfig.stdio_encodingand- PyConfig.stdio_errors.- 윈도우에서는, 콘솔 장치에 UTF-8이 사용됩니다. 디스크 파일과 파이프와 같은 비문자 장치는 시스템 로케일 인코딩(즉, ANSI 코드 페이지)을 사용합니다. NUL(즉, - isatty()가- True를 반환하는)과 같은 비 콘솔 문자 장치는 시작 시에 콘솔 입력과 출력 코드 페이지의 값을 각각 stdin과 stdout/stderr에 사용합니다. 프로세스가 초기에 콘솔에 연결되지 않았으면 시스템 로케일 인코딩이 기본값입니다.- 파이썬을 시작하기 전에 환경 변수 PYTHONLEGACYWINDOWSSTDIO를 설정하여 콘솔의 특수 동작을 재정의할 수 있습니다. 이 경우, 콘솔 코드 페이지는 다른 모든 문자 장치에서처럼 사용됩니다. - 모든 플랫폼에서, 파이썬을 시작하기 전에 - PYTHONIOENCODING환경 변수를 설정하거나 새로운- -X- utf8명령 줄 옵션과- PYTHONUTF8환경 변수를 사용하여 문자 인코딩을 재정의할 수 있습니다. 그러나, 윈도우 콘솔의 경우,- PYTHONLEGACYWINDOWSSTDIO도 설정했을 때만 적용됩니다.
- 대화형일 때, - stdout스트림은 줄 버퍼링 됩니다. 그렇지 않으면, 일반 텍스트 파일처럼 블록 버퍼링 됩니다.- stderr스트림은 두 경우 모두 줄 버퍼링 됩니다.- -u명령 줄 옵션을 전달하거나- PYTHONUNBUFFERED환경 변수를 설정하여 두 스트림을 모두 버퍼링하지 않을 수 있습니다.
 - 버전 3.9에서 변경: 비 대화형 - stderr은 이제 완전히 버퍼링 되는 대신 줄 버퍼링 됩니다.- 참고 - 표준 스트림에서 바이너리 데이터를 읽거나 표준 스트림으로 바이너리 데이터를 쓰려면, 하부 바이너리 - buffer객체를 사용하십시오. 예를 들어, 바이트열을- stdout에 쓰려면,- sys.stdout.buffer.write(b'abc')를 사용하십시오.- 그러나, 라이브러리를 작성하고 있다면 (그리고 코드가 실행될 문맥을 제어하지 않으면), 표준 스트림은 - buffer어트리뷰트를 지원하지 않는- io.StringIO와 같은 파일류 객체로 대체 될 수 있음을 유의하십시오.
- sys.__stdin__¶
- sys.__stdout__¶
- sys.__stderr__¶
- 이 객체는 프로그램 시작 시 - stdin,- stderr및- stdout의 원래 값을 포함합니다. 이들은 파이널리제이션 중에 사용되며,- sys.std*객체가 리디렉션 되었는지에 관계없이 실제 표준 스트림으로 인쇄하는 데 유용할 수 있습니다.- 또한 잘못된 객체로 덮어쓴 경우 실제 파일을 알려진 작동하는 파일 객체로 복원하는 데 사용할 수 있습니다. 그러나, 이를 수행하기 위해 선호되는 방법은 이전 스트림을 교체하기 전에 명시적으로 저장하고, 저장된 객체를 복원하는 것입니다. - 참고 - 일부 조건에서, - stdin,- stdout및- stderr뿐만 아니라 원래 값- __stdin__,- __stdout__및- __stderr__은- None일 수 있습니다. 보통 콘솔에 연결되지 않은 윈도우 GUI 앱과 pythonw로 시작된 파이썬 앱이 이런 경우입니다.
- sys.stdlib_module_names¶
- A frozenset of strings containing the names of standard library modules. - It is the same on all platforms. Modules which are not available on some platforms and modules disabled at Python build are also listed. All module kinds are listed: pure Python, built-in, frozen and extension modules. Test modules are excluded. - For packages, only the main package is listed: sub-packages and sub-modules are not listed. For example, the - emailpackage is listed, but the- email.mimesub-package and the- email.messagesub-module are not listed.- See also the - sys.builtin_module_nameslist.- Added in version 3.10. 
- sys.thread_info¶
- 스레드 구현에 대한 정보를 담은 네임드 튜플. - thread_info.name¶
- 스레드 구현 이름: - "nt": 윈도우 스레드
- "pthread": POSIX 스레드
- "pthread-stubs": stub POSIX threads (on WebAssembly platforms without threading support)
- "solaris": 솔라리스 스레드
 
 - thread_info.lock¶
- 록 구현 이름: - "semaphore": 록은 세마포어를 사용합니다
- "mutex+cond": 록은 뮤텍스(mutex)와 조건 변수(condition variable)를 사용합니다
- 이 정보를 알 수 없으면 - None
 
 - thread_info.version¶
- 스레드 라이브러리의 이름과 버전. 문자열이거나, 이 정보를 알 수 없으면 - None입니다.
 - Added in version 3.3. 
- sys.tracebacklimit¶
- 이 변수가 정숫값으로 설정되면, 처리되지 않은 예외가 발생할 때 인쇄되는 트레이스백 정보의 최대 수준 수를 결정합니다. 기본값은 - 1000입니다.- 0이하로 설정하면, 모든 트레이스백 정보가 억제되고 예외 형과 값만 인쇄됩니다.
- sys.unraisablehook(unraisable, /)¶
- 발생시킬 수 없는 예외(unraisable exception)를 처리합니다. - 예외가 발생했지만, 파이썬이 예외를 처리할 방법이 없을 때 호출됩니다. 예를 들어, 파괴자가 예외를 발생시키거나 가비지 수거 ( - gc.collect()) 중에.- unraisable 인자에는 다음과 같은 어트리뷰트가 있습니다: - exc_type: 예외 형.
- exc_value: 예외 값.- None일 수 있습니다.
- exc_traceback: 예외 트레이스백,- None일 수 있습니다.
- err_msg: 에러 메시지,- None일 수 있습니다.
- object: 예외를 발생시킨 객체,- None일 수 있습니다.
 - 기본 훅은 - err_msg와- object를 다음과 같이 포맷합니다:- f'{err_msg}: {object!r}';- err_msg가- None이면 “Exception ignored in” 에러 메시지를 사용합니다.- sys.unraisablehook()은 발생시킬 수 없는 예외 처리 방법을 제어하기 위해 재정의될 수 있습니다.- 더 보기 - 잡히지 않은 예외를 처리하는 - excepthook().- 경고 - 사용자 정의 훅을 사용하여 - exc_value를 저장하면 참조 순환이 만들어질 수 있습니다. 예외가 더는 필요하지 않을 때 참조 순환을 끊기 위해 명시적으로 지워야 합니다.- 사용자 정의 훅을 사용하여 - object를 저장하면 파이널라이즈 중인 객체로 설정될 때 그것을 되살릴 수 있습니다. 객체 되살림을 방지하려면 사용자 정의 훅이 완료된 후- object를 저장하지 마십시오.- 처리할 수 없는 예외가 발생할 때 인자 hook, unraisable로 감사 이벤트 - sys.unraisablehook을 발생시킵니다. unraisable 객체는 훅에 전달되는 것과 같습니다. 아무런 훅도 설정되지 않았으면, hook은- None일 수 있습니다.- Added in version 3.8. 
- sys.version¶
- 파이썬 인터프리터의 버전 번호와 빌드 번호 및 사용된 컴파일러에 대한 추가 정보가 포함된 문자열. 이 문자열은 대화식 인터프리터가 시작될 때 표시됩니다. 여기서 버전 정보를 추출하지 말고, - version_info와- platform모듈이 제공하는 함수를 사용하십시오.
- sys.api_version¶
- 이 인터프리터의 C API 버전. 프로그래머는 파이썬과 확장 모듈 간의 버전 충돌을 디버깅할 때 이것이 유용할 수 있습니다. 
- sys.version_info¶
- 버전 번호의 5가지 구성 요소를 포함하는 튜플: major, minor, micro, releaselevel 및 serial. releaselevel을 제외한 모든 값은 정수입니다; 릴리스 수준은 - 'alpha',- 'beta',- 'candidate'또는- 'final'입니다. 파이썬 버전 2.0에 해당하는- version_info값은- (2, 0, 0, 'final', 0)입니다. 구성 요소는 이름으로도 액세스 할 수 있어서,- sys.version_info[0]는- sys.version_info.major와 동등합니다.- 버전 3.1에서 변경: 이름있는 구성 요소 어트리뷰트를 추가했습니다. 
- sys.warnoptions¶
- 이것은 경고 프레임워크의 구현 세부 사항입니다; 이 값을 수정하지 마십시오. 경고 프레임워크에 대한 자세한 정보는 - warnings모듈을 참조하십시오.
- sys.winver¶
- 윈도우 플랫폼에서 레지스트리 키를 형성하는 데 사용되는 버전 번호. 이것은 파이썬 DLL에서 문자열 리소스 1000으로 저장됩니다. 값은 일반적으로 파이썬 인터프리터의 주와 부 버전입니다. 정보용으로 - sys모듈에서 제공됩니다; 이 값을 수정해도 파이썬에서 사용하는 레지스트리 키에는 영향을 미치지 않습니다.- 가용성: Windows. 
- sys.monitoring
- Namespace containing functions and constants for register callbacks and controlling monitoring events. See - sys.monitoringfor details.
- sys._xoptions¶
- -X명령 줄 옵션을 통해 전달된 다양한 구현 특정 플래그의 딕셔너리. 옵션 이름은 명시적으로 지정되면 그들의 값으로, 그렇지 않으면- True로 매핑됩니다. 예:- $ ./python -Xa=b -Xc Python 3.2a3+ (py3k, Oct 16 2010, 20:14:50) [GCC 4.4.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> sys._xoptions {'a': 'b', 'c': True} - 이는 - -X를 통해 전달된 옵션에 액세스하는 CPython 특정 방법입니다. 다른 구현은 다른 수단을 통해, 또는 전혀 노출하지 않을 수 있습니다.- Added in version 3.2. 
인용
ISO/IEC 9899:1999. “Programming languages – C.” 이 표준의 공개 초안은 https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf에 있습니다.