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 asctypes
) 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¶
Equivalent to
exec_prefix
, but referring to the base Python installation.When running under Virtual Environments,
exec_prefix
gets overwritten to the virtual environment prefix.base_exec_prefix
, conversely, does not change, and always points to the base Python installation. Refer to Virtual Environments for more information.Added in version 3.3.
- sys.base_prefix¶
Equivalent to
prefix
, but referring to the base Python installation.When running under virtual environment,
prefix
gets overwritten to the virtual environment prefix.base_prefix
, conversely, does not change, and always points to the base Python installation. Refer to Virtual Environments for more information.Added in version 3.3.
- sys.byteorder¶
네이티브 바이트 순서의 표시기. 이는 빅 엔디안(최상위 바이트 먼저) 플랫폼에서
'big'
값을, 리틀 엔디안(최하위 바이트 먼저) 플랫폼에서'little'
을 갖습니다.
- sys.builtin_module_names¶
이 파이썬 인터프리터로 컴파일된 모든 모듈의 이름을 포함하는 문자열의 튜플. (이 정보는 다른 방법으로는 얻을 수 없습니다 —
modules.keys()
는 임포트 된 모듈만 나열합니다.)See also the
sys.stdlib_module_names
list.
- sys.call_tracing(func, args)¶
추적이 활성화된 동안,
func(*args)
를 호출합니다. 추적 상태가 저장되고, 나중에 복원됩니다. 이것은 체크 포인트에서 디버거에서 호출되어 다른 코드를 재귀적으로 디버깅이나 프로파일링하기 위한 것입니다.Tracing is suspended while calling a tracing function set by
settrace()
orsetprofile()
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¶
True
if Python is compiled with Emscripten pthreads support.
True
if 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
except
orexcept*
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
e
is currently handled (soexception()
would returne
),exc_info()
returns the tuple(type(e), e, e.__traceback__)
. That is, a tuple containing the type of the exception (a subclass ofBaseException
), 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
None
values.버전 3.11에서 변경: The
type
andtraceback
fields are now derived from thevalue
(the exception instance), so when an exception is modified while it is being handled, the changes are reflected in the results of subsequent calls toexc_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
.참고
If a virtual environment is in effect, this
exec_prefix
will point to the virtual environment. The value for the Python installation will still be available, viabase_exec_prefix
. Refer to Virtual Environments for more information.버전 3.14에서 변경: When running under a virtual environment,
prefix
andexec_prefix
are now set to the virtual environment prefix by the path initialization, instead ofsite
. This means thatprefix
andexec_prefix
always point to the virtual environment, even whensite
is disabled (-S
).
- sys.executable¶
의미가 있는 시스템에서, 파이썬 인터프리터를 위한 실행 바이너리의 절대 경로를 제공하는 문자열. 파이썬이 실행 파일의 실제 경로를 검색할 수 없으면,
sys.executable
은 빈 문자열이거나None
입니다.
- sys.exit([arg])¶
Raise a
SystemExit
exception, 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¶
The named tuple flags exposes the status of command line flags. Flags should only be accessed only by name and not by index. The attributes are read only.
- 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¶
- flags.gil¶
-X gil
andPYTHON_GIL
- flags.thread_inherit_context¶
- flags.context_aware_warnings¶
버전 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
어트리뷰트가 추가되었습니다.버전 3.13에서 변경: Added the
gil
attribute.버전 3.14에서 변경: Added the
thread_inherit_context
attribute.버전 3.14에서 변경: Added the
context_aware_warnings
attribute.
- 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_info
named 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
: indeterminable0
: toward zero1
: to nearest2
: toward positive infinity3
: toward negative infinity
All other values for
FLT_ROUNDS
characterize 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'
값을 가지면, 유한 floatx
의 경우,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: seefilesystem_encoding
andfilesystem_errors
members ofPyConfig
.버전 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: seefilesystem_encoding
andfilesystem_errors
members ofPyConfig
.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.
CPython 구현 상세: Immortal objects with a large reference count can be identified via
_is_immortal()
.버전 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_obmalloc
set to 1 or usingPy_NewInterpreter()
, and the main interpreter). Mixing objects from different interpreters may lead to crashes or other unexpected behavior.이 함수는 특수 목적으로만 사용해야 합니다. 모든 파이썬 구현에 존재한다고 보장되는 것은 아닙니다.
버전 3.14에서 변경: 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
platform
module 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
으로 설정되면, 모듈 캐싱을 사용하지 않아야 함을 나타냅니다.supports_isolated_interpreters is a boolean value, whether this implementation supports multiple isolated interpreters. It is
True
for CPython on most platforms. Platforms with this support implement the low-level_interpreters
module.더 보기
sys.implementation
은 파이썬 구현에 고유한 추가 어트리뷰트를 포함할 수 있습니다. 이러한 비표준 어트리뷰트는 밑줄로 시작해야 하며, 여기에서는 설명하지 않습니다. 내용과 관계없이,sys.implementation
은 인터프리터 실행 중이나 구현 버전 간에 변경되지 않습니다. (그러나, 파이썬 언어 버전 간에는 변경될 수 있습니다.) 자세한 정보는 PEP 421을 참조하십시오.Added in version 3.3.
버전 3.14에서 변경: Added
supports_isolated_interpreters
field.참고
새로운 필수 어트리뷰트를 추가하려면 일반 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_digits
andstr_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
True
if the GIL is enabled andFalse
if it is disabled.Added in version 3.13.
모든 파이썬 구현에 존재한다고 보장되는 것은 아닙니다.
- sys.is_finalizing()¶
메인 파이썬 인터프리터가 종료 중이면
True
를 반환합니다. 그렇지 않으면False
를 반환합니다.See also the
PythonFinalizationError
exception.Added in version 3.5.
- sys._jit¶
Utilities for observing just-in-time compilation.
CPython 구현 상세: JIT compilation is an experimental implementation detail of CPython.
sys._jit
is not guaranteed to exist or behave the same way in all Python implementations, versions, or build configurations.Added in version 3.14.
- _jit.is_available()¶
Return
True
if the current Python executable supports JIT compilation, andFalse
otherwise. This can be controlled by building CPython with the--experimental-jit
option on Windows, and the--enable-experimental-jit
option on all other platforms.
- _jit.is_enabled()¶
Return
True
if JIT compilation is enabled for the current Python process (impliessys._jit.is_available()
), andFalse
otherwise. If JIT compilation is available, this can be controlled by setting thePYTHON_JIT
environment variable to0
(disabled) or1
(enabled) at interpreter startup.
- _jit.is_active()¶
Return
True
if the topmost Python frame is currently executing JIT code (impliessys._jit.is_enabled()
), andFalse
otherwise.참고
This function is intended for testing and debugging the JIT itself. It should be avoided for any other purpose.
참고
Due to the nature of tracing JIT compilers, repeated calls to this function may give surprising results. For example, branching on its return value will likely lead to unexpected behavior (if doing so causes JIT code to be entered or exited):
>>> for warmup in range(BIG_NUMBER): ... # This line is "hot", and is eventually JIT-compiled: ... if sys._jit.is_active(): ... # This line is "cold", and is run in the interpreter: ... assert sys._jit.is_active() ... Traceback (most recent call last): File "<stdin>", line 5, in <module> assert sys._jit.is_active() ~~~~~~~~~~~~~~~~~~^^ AssertionError
- sys.last_exc¶
이 변수가 항상 정의되는 것은 아닙니다; 예외가 처리되지 않고 인터프리터가 에러 메시지와 스택 트레이스백을 인쇄할 때 예외 인스턴스로 설정됩니다. 의도된 용도는 대화형 사용자가 디버거 모듈을 임포트하고 에러를 일으킨 명령을 다시 실행하지 않고도 사후 디버깅에 참여할 수 있도록 하는 것입니다. (사후 디버거에 들어가기 위해 일반적으로
import pdb; pdb.pm()
을 사용합니다; 자세한 내용은pdb
모듈을 참조하십시오.)Added in version 3.12.
- sys._is_immortal(op)¶
Return
True
if the given object is immortal,False
otherwise.참고
Objects that are immortal (and thus return
True
upon being passed to this function) are not guaranteed to be immortal in future versions, and vice versa for mortal objects.Added in version 3.14.
이 함수는 특수 목적으로만 사용해야 합니다. 모든 파이썬 구현에 존재한다고 보장되는 것은 아닙니다.
- 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_exc
instead. They hold the legacy representation ofsys.last_exc
, as returned fromexc_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_argv
are the arguments to the Python interpreter, while the elements ofsys.argv
are the arguments to the user’s program. Arguments consumed by the interpreter itself will be present insys.orig_argv
and missing fromsys.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 ofPYTHONPATH
):python -m module
명령 줄: 현재 작업 디렉터리를 앞에 붙입니다.python script.py
command line: prepend the script’s directory. If it’s a symbolic link, resolve symbolic links.python -c code
andpython
(REPL) command lines: prepend an empty string, which means the current working directory.
To not prepend this potentially unsafe path, use the
-P
command line option or thePYTHONSAFEPATH
environment 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'
FreeBSD
'freebsd'
iOS
'ios'
리눅스
'linux'
맥 OS
'darwin'
윈도우
'win32'
윈도우/Cygwin
'cygwin'
WASI
'wasi'
On Unix systems not listed in the table, the value is the lowercased OS name as returned by
uname -s
, with the first part of the version as returned byuname -r
appended, e.g.'sunos5'
, at the time when Python was built. Unless you want to test for a specific system version, it is therefore recommended to use the following idiom:if sys.platform.startswith('sunos'): # SunOS-specific code here...
버전 3.3에서 변경: 리눅스에서,
sys.platform
은 더는 주 버전을 포함하지 않습니다.'linux2'
나'linux3'
대신, 항상'linux'
입니다.버전 3.8에서 변경: AIX에서,
sys.platform
은 더는 주 버전을 포함하지 않습니다.'aix5'
나'aix7'
대신, 항상'aix'
입니다.버전 3.13에서 변경: On Android,
sys.platform
now returns'android'
rather than'linux'
.버전 3.14에서 변경: On FreeBSD,
sys.platform
doesn’t contain the major version anymore. It is always'freebsd'
, instead of'freebsd13'
or'freebsd14'
.
- 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
인자를 사용하여 빌드 시 설정할 수 있습니다. 파생 경로는 설치 경로를 참조하십시오.참고
If a virtual environment is in effect, this
prefix
will point to the virtual environment. The value for the Python installation will still be available, viabase_prefix
. Refer to Virtual Environments for more information.버전 3.14에서 변경: When running under a virtual environment,
prefix
andexec_prefix
are now set to the virtual environment prefix by the path initialization, instead ofsite
. This means thatprefix
andexec_prefix
always point to the virtual environment, even whensite
is disabled (-S
).
- 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()
assettrace()
. To trace calls withsetprofile()
inside a tracing function (e.g. in a debugger breakpoint), seecall_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 seecall_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
입니다.To enable, pass a depth value greater than zero; this sets the number of frames whose information will be captured. To disable, set depth to zero.
이 설정은 스레드에 한정됩니다.
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"
.Stack trampolines cannot be activated if the JIT is active.
가용성: 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
True
if a stack profiler trampoline is active.가용성: Linux.
Added in version 3.12.
- sys.remote_exec(pid, script)¶
Executes script, a file containing Python code in the remote process with the given pid.
This function returns immediately, and the code will be executed by the target process’s main thread at the next available opportunity, similarly to how signals are handled. There is no interface to determine when the code has been executed. The caller is responsible for making sure that the file still exists whenever the remote process tries to read it and that it hasn’t been overwritten.
The remote process must be running a CPython interpreter of the same major and minor version as the local process. If either the local or remote interpreter is pre-release (alpha, beta, or release candidate) then the local and remote interpreters must be the same exact version.
When the code is executed in the remote process, an auditing event
sys.remote_exec
is raised with the pid and the path to the script file. This event is raised in the process that calledsys.remote_exec()
.When the script is executed in the remote process, an auditing event
cpython.remote_debugger_script
is raised with the path in the remote process. This event is raised in the remote process, not the one that calledsys.remote_exec()
.가용성: Unix, Windows.
Added in version 3.14.
- sys._enablelegacywindowsfsencoding()¶
3.6 이전의 파이썬 버전과 일관성을 유지하기 위해, 파일 시스템 인코딩과 에러 처리기를 각각 ‘mbcs’와 ‘replace’로 변경합니다.
이것은 파이썬을 시작하기 전에
PYTHONLEGACYWINDOWSFSENCODING
환경 변수를 정의하는 것과 동등합니다.See also
sys.getfilesystemencoding()
andsys.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
PYTHONLEGACYWINDOWSFSENCODING
instead.Added in version 3.6: 자세한 내용은 PEP 529를 참조하십시오.
Deprecated since version 3.13, will be removed in version 3.16: Use
PYTHONLEGACYWINDOWSFSENCODING
instead.
- sys.stdin¶
- sys.stdout¶
- sys.stderr¶
인터프리터가 표준 입력, 출력 및 에러에 사용하는 파일 객체:
stdin
는 모든 대화식 입력에 사용됩니다 (input()
호출을 포함합니다);인터프리터 자신의 프롬프트와 에러 메시지는
stderr
로 갑니다.
이 스트림은
open()
함수에 의해 반환되는 것과 같은 일반적인 텍스트 파일입니다. 매개 변수는 다음과 같이 선택됩니다:The encoding and error handling are is initialized from
PyConfig.stdio_encoding
andPyConfig.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
email
package is listed, but theemail.mime
sub-package and theemail.message
sub-module are not listed.See also the
sys.builtin_module_names
list.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
일 수 있습니다.
The default hook formats
err_msg
andobject
as:f'{err_msg}: {object!r}'
; use “Exception ignored in” error message iferr_msg
isNone
. Similar to thetraceback
module, this adds color to exceptions by default. This can be disabled using environment variables.sys.unraisablehook()
은 발생시킬 수 없는 예외 처리 방법을 제어하기 위해 재정의될 수 있습니다.버전 3.15.0a0 (unreleased)에서 변경: Exceptions are now printed with colorful text.
더 보기
잡히지 않은 예외를 처리하는
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¶
The C API version, equivalent to the C macro
PYTHON_API_VERSION
. Defined for backwards compatibility.Currently, this constant is not updated in new Python versions, and is not useful for versioning. This may change in the future.
- 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.monitoring
for 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에 있습니다.