sys — Параметры и функции, специфичные для системы
Этот модуль предоставляет доступ к некоторым переменным, используемым или поддерживаемым интерпретатором, и к функциям, которые тесно взаимодействуют с интерпретатором. Он всегда доступен.
-
sys.abiflags -
В системах POSIX, где Python был построен со стандартным скриптом
configure, это содержит флаги ABI, как указано в PEP 3149.Добавлен в версии 3.2.
-
sys.argv -
Список аргументов командной строки, переданных скрипту Python.
argv[0]— это имя скрипта (зависит от операционной системы, является ли это полным путем или нет). Если интерпретатор был запущен с опцией командной строки-c,argv[0]устанавливается в строку'-c'. Если имя скрипта не было передано интерпретатору Python,argv[0]— это пустая строка.Для цикла по стандартному вводу или списку файлов, заданных в командной строке, см. модуль
fileinput.Примечание
В Unix аргументы командной строки передаются в виде байтов от ОС. Python декодирует их с помощью кодировки файловой системы и обработчика ошибок «surrogateescape». Если вам нужны исходные байты, вы можете получить их, используя
[os.fsencode(arg) for arg in sys.argv].
-
sys.base_exec_prefix -
Устанавливается во время запуска Python, до выполнения
site.py, с тем же значением, что иexec_prefix. Если выполнение не происходит в виртуальной среде, значения остаются неизменными; еслиsite.pyобнаруживает, что используется виртуальная среда, значенияprefixиexec_prefixбудут изменены для указания на виртуальную среду, тогда какbase_prefixиbase_exec_prefixостанутся указателями на базовую установку Python (той, из которой была создана виртуальная среда).Добавлен в версии 3.3.
-
sys.base_prefix -
Устанавливается во время запуска Python, до выполнения
site.py, с тем же значением, что иprefix. Если выполнение не происходит в виртуальной среде, значения останутся неизменными; еслиsite.pyобнаруживает, что используется виртуальная среда, значенияprefixиexec_prefixбудут изменены для указания на виртуальную среду, тогда какbase_prefixиbase_exec_prefixостанутся указателями на базовую установку Python (той, из которой была создана виртуальная среда).Добавлен в версии 3.3.
-
sys.byteorder -
Индикатор родного порядка байтов. Будет иметь значение
'big'на платформах с big-endian (старший байт первым) и'little'на платформах с little-endian (младший байт первым).
-
sys.builtin_module_names -
Кортеж строк, содержащий имена всех модулей, скомпилированных в эту интерпретацию Python. (Эта информация недоступна другими способами —
modules.keys()перечисляет только импортированные модули.)
-
sys.call_tracing(func, args) -
Вызов
func(*args), в то время как включено отслеживание. Состояние отслеживания сохраняется и восстанавливается после этого. Это предназначено для вызова дебаггером из контрольной точки, чтобы рекурсивно отладить какой-либо другой код.
-
sys.copyright -
Строка, содержащая копирайт, относящийся к интерпретатору Python.
-
sys._clear_type_cache() -
Очистить внутреннюю кэш-память типов. Кэш типов используется для ускорения поиска атрибутов и методов. Используйте функцию *только* для удаления ненужных ссылок во время отладки утечек памяти.
Эта функция должна использоваться только для внутренних и специализированных целей.
-
sys._current_frames() -
Возвращает словарь, сопоставляющий идентификатор каждого потока с самой верхней кадровой структурой стека, активной в этом потоке в момент вызова функции. Обратите внимание, что функции в модуле
tracebackмогут строить стек вызовов на основе такого кадра.Это наиболее полезно для отладки тупиков: эта функция не требует сотрудничества заблокированных потоков, и стеки вызовов таких потоков замораживаются до тех пор, пока они остаются в состоянии тупика. Кадровый структуру, возвращенная для не заблокированного потока, может не иметь отношения к текущей активности этого потока к тому времени, когда вызывающий код исследует кадр.
Эта функция должна использоваться только для внутренних и специализированных целей.
-
sys.breakpointhook() -
Эта функция-обработчик вызывается встроенной функцией
breakpoint(). По умолчанию она запускает дебаггерpdb, но её можно установить на любую другую функцию, чтобы выбрать используемый дебаггер.Подпись этой функции зависит от того, что она вызывает. Например, стандартная привязка (например,
pdb.set_trace()) не ожидает аргументов, но вы можете привязать её к функции, которая ожидает дополнительные аргументы (позиционные и/или ключевые).Встроенная функция
breakpoint()передает свои*argsи**kwsнепосредственно.Что бы ни вернула
breakpointhooks(), это будет возвращено изbreakpoint().Стандартная реализация сначала проверяет переменную среды
PYTHONBREAKPOINT. Если она установлена в"0", эта функция возвращается немедленно; т.е. она является бесполезной. Если переменная среды не задана или установлена в пустую строку, вызываетсяpdb.set_trace().В противном случае эта переменная должна указывать на функцию для запуска с использованием обозначений импорта Python, например
package.subpackage.module.function. В этом случаеpackage.subpackage.moduleбудет импортирован, и полученный модуль должен иметь вызываемую функцию с именемfunction(). Она будет запущена, передавая*argsи**kws, и что бы ни вернулаfunction(), это вернётся отsys.breakpointhook()функцииbreakpoint().Обратите внимание, что если при импорте вызываемой функции, указанной в
PYTHONBREAKPOINT, возникнут ошибки, будет отображено сообщениеRuntimeWarning, и точка останова будет проигнорирована.Также обратите внимание, что если
sys.breakpointhook()переопределяется программно, переменная средыPYTHONBREAKPOINTне используется.Добавлен в версии 3.7.
-
sys._debugmallocstats() -
Выводит в stderr низкоуровневую информацию о состоянии памяти CPython.
Если Python сконфигурирован с параметром –with-pydebug, также выполняет некоторые дорогостоящие проверки внутренней целостности.
Добавлен в версии 3.3.
Деталь реализации CPython: Эта функция специфична для CPython. Точный формат вывода не определен здесь и может меняться.
-
sys.dllhandle -
Целое число, определяющее дескриптор DLL Python.
Доступность: Windows.
-
sys.displayhook(value) -
Если value не
None, эта функция печатаетrepr(value)вsys.stdout, и сохраняет value вbuiltins._. Еслиrepr(value)не может быть закодировано вsys.stdout.encodingс обработчиком ошибокsys.stdout.errors(что, вероятно,'strict'), закодируйте его вsys.stdout.encodingс обработчиком ошибок'backslashreplace'.Эта функция вызывается при отображении результатов вычисления выражения, введенного в интерактивной сессии Python. Вывод этих значений можно настроить, назначив другую функцию с одним аргументом
sys.displayhook.Псевдокод:
def displayhook(value): if value is None: return # Set '_' to None to avoid recursion 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: Используйте обработчик ошибок
'backslashreplace'дляUnicodeEncodeError.
-
sys.dont_write_bytecode -
Если это значение истинно, Python не будет пытаться записать
.pycфайлы при импорте исходных модулей. Это значение изначально установлено вTrueилиFalseв зависимости от параметра командной строки-Bи переменной средыPYTHONDONTWRITEBYTECODE, но вы можете установить его самостоятельно, чтобы контролировать генерацию файлов байткода.
-
sys.excepthook(type, value, traceback) -
Эта функция выводит отладочную информацию об исключении и самой ошибке в
sys.stderr.Когда возникает исключение и оно не перехвачено, интерпретатор вызывает
sys.excepthookс тремя аргументами: классом исключения, экземпляром исключения и объектом отладочной информации. В интерактивной сессии это происходит непосредственно перед возвращением управления к приглашению; в программе Python — непосредственно перед завершением программы. Обработку таких исключений верхнего уровня можно настроить, назначив другую функцию с тремя аргументами вsys.excepthook.
-
sys.__breakpointhook__ -
sys.__displayhook__ -
sys.__excepthook__ -
Эти объекты содержат исходные значения
breakpointhook,displayhook, иexcepthookв начале программы. Они сохраняются для того, чтобыbreakpointhook,displayhookиexcepthookможно было восстановить в случае, если они были заменены нерабочими или альтернативными объектами.Новое в версии 3.7: __breakpointhook__
-
sys.exc_info() -
Эта функция возвращает кортеж из трёх значений, содержащих информацию об исключении, которое в данный момент обрабатывается. Возвращаемая информация относится как к текущей нити, так и к текущей рамке стека. Если текущая рамка стека не обрабатывает исключение, информация берется из вызывающей рамки стека, или её вызывающей, и так далее, пока не будет найдена рамка стека, обрабатывающая исключение. Здесь «обработка исключения» определяется как «выполнение блока except».
Если нигде в стеке исключение не обрабатывается, возвращается кортеж, содержащий три
Noneзначения. В противном случае, возвращаемые значения —(type, value, traceback). Их значения: type содержит тип обрабатываемого исключения (подклассBaseException); value содержит экземпляр исключения (экземпляр типа исключения); traceback содержит объект отладочной информации (см. Справочник), который инкапсулирует стек вызовов в момент первоначального возникновения исключения.
-
sys.exec_prefix -
Строка, содержащая префикс каталога, специфичный для сайта, где установлены платформозависимые файлы Python; по умолчанию, это также
'/usr/local'. Это можно задать во время сборки, используя аргумент--exec-prefixскрипта configure. В частности, все конфигурационные файлы (например, файл заголовкаpyconfig.h) устанавливаются в каталогеexec_prefix/lib/pythonX.Y/config, а модули общих библиотек устанавливаются вexec_prefix/lib/pythonX.Y/lib-dynload, где X.Y — номер версии Python, например3.2.Примечание
Если активна виртуальная среда виртуальная среда, это значение будет изменено в
site.pyдля указания на виртуальную среду. Значение для установки Python по-прежнему будет доступно черезbase_exec_prefix.
-
sys.executable -
Строка, содержащая абсолютный путь к исполняемому бинарному файлу интерпретатора Python, на системах, где это имеет смысл. Если Python не может получить реальный путь к своему исполняемому файлу,
sys.executableбудет пустой строкой илиNone.
-
sys.exit([arg]) -
Завершить работу Python. Это реализуется путём возбуждения исключения
SystemExit, поэтому действия по очистке, указанные в блоках finally операторовtryбудут выполнены, и есть возможность перехватить попытку выхода на более высоком уровне.Необязательный аргумент arg может быть целым числом, определяющим код завершения (по умолчанию 0), или другим типом объекта. Если это целое число, 0 считается «успешным завершением», а любое ненулевое значение считается «ненормальным завершением» оболочками и подобными программами. Большинство систем требуют, чтобы он находился в диапазоне от 0 до 127, а в противном случае поведение является неопределённым. Некоторые системы имеют соглашение для назначения конкретных значений кодам завершения, но они обычно слабо разработаны; программы Unix обычно используют 2 для ошибок в синтаксисе командной строки и 1 для всех других видов ошибок. Если передается объект другого типа,
Noneэквивалентно передаче нуля, а любой другой объект выводится вstderrи приводит к коду завершения 1. В частности,sys.exit("some error message")— это быстрый способ завершить программу при возникновении ошибки.Так как
exit()в конечном итоге «только» возбуждает исключение, она завершит процесс только при вызове из главной нити, и исключение не перехватывается.Изменено в версии 3.6: Если при очистке после того, как интерпретатор Python перехватил
SystemExit(например, при ошибке сброса буферизованных данных в стандартных потоках), произошла ошибка, код завершения меняется на 120.
-
sys.flags -
Кортеж с именованными полями flags отображает состояние флагов командной строки. Атрибуты являются только для чтения.
атрибут
флаг
debuginteractiveisolatedoptimizeno_user_siteno_siteignore_environmentverbosebytes_warningquiethash_randomizationdev_mode-Xdevutf8_mode-Xutf8Изменено в версии 3.2: Добавлен атрибут
quietдля нового флага-q.Добавлен в версии 3.2.3: Атрибут
hash_randomization.Изменено в версии 3.3: Удален устаревший атрибут
division_warning.Изменено в версии 3.4: Добавлен атрибут
isolatedдля флага-Iisolated.
-
sys.float_info -
Кортеж с именованными полями, содержащий информацию о типе float. Он содержит информацию низкого уровня о точности и внутреннем представлении. Значения соответствуют различным константам с плавающей точкой, определённым в стандартном заголовочном файле
float.hязыка программирования «C»; см. раздел 5.2.4.2.2 стандарта ISO/IEC C 1999 [C99], «Характеристики типов с плавающей точкой», для подробностей.атрибут
макрос float.h
объяснение
epsilonDBL_EPSILON
разница между 1.0 и наименьшим значением, большим чем 1.0, которое может быть представлено как float
digDBL_DIG
максимальное количество десятичных цифр, которые могут быть точно представлены в float; см. ниже
mant_digDBL_MANT_DIG
точность float: количество цифр в основании
radixв мантиссе floatDBL_MAX
максимальное представимое положительное конечное float
max_expDBL_MAX_EXP
максимальное целое число e такое, что
radix**(e-1)является представимым конечным floatmax_10_expDBL_MAX_10_EXP
максимальное целое число e такое, что
10**eнаходится в диапазоне представимых конечных floatDBL_MIN
минимальное представимое положительное нормализованное float
min_expDBL_MIN_EXP
минимальное целое число e такое, что
radix**(e-1)является нормализованным floatmin_10_expDBL_MIN_10_EXP
минимальное целое число e такое, что
10**eявляется нормализованным floatradixFLT_RADIX
основание представления экспоненты
roundsFLT_ROUNDS
целая константа, представляющая режим округления, используемый для арифметических операций. Она отражает значение системы FLT_ROUNDS макроса во время запуска интерпретатора. См. раздел 5.2.4.2.2 стандарта C99 для объяснения возможных значений и их значений.
Атрибуту
sys.float_info.digтребуется дополнительное объяснение. Еслиs— любая строка, представляющая десятичное число с не более чемsys.float_info.digзначащими цифрами, то преобразованиеsв float и обратно восстановит строку, представляющую то же десятичное значение:>>> import sys >>> sys.float_info.dig 15 >>> s = '3.14159265358979' # decimal string with 15 significant digits >>> format(float(s), '.15g') # convert to float and back -> same value '3.14159265358979'
Но для строк с более чем
sys.float_info.digзначащими цифрами это не всегда верно:>>> s = '9876543211234567' # 16 significant digits is too many! >>> format(float(s), '.16g') # conversion changes value '9876543211234568'
-
sys.float_repr_style -
Строка, указывающая, как функция
repr()ведёт себя для чисел с плавающей точкой. Если строка имеет значение'short', то для конечного floatx, функцияrepr(x)стремится произвести короткую строку с тем свойством, чтоfloat(repr(x)) == x. Это обычное поведение в Python 3.1 и более поздних версиях. В противном случаеfloat_repr_styleимеет значение'legacy'иrepr(x)ведёт себя так же, как и в версиях Python до 3.1.Добавлено в версии 3.1.
-
sys.getallocatedblocks() -
Возвращает количество блоков памяти, выделенных интерпретатором в данный момент, независимо от их размера. Эта функция полезна в основном для отслеживания и отладки утечек памяти. Из-за внутренних кешей интерпретатора результат может меняться от вызова к вызову; вам может потребоваться вызвать
_clear_type_cache()иgc.collect(), чтобы получить более предсказуемые результаты.Если сборка или реализация Python не может разумно вычислить эту информацию,
getallocatedblocks()разрешается вернуть 0 вместо этого.Добавлено в версии 3.4.
-
sys.getandroidapilevel() -
Возвращает версию API Android в момент сборки как целое число.
Доступность: Android.
Добавлено в версии 3.7.
-
sys.getcheckinterval() -
Возвращает «интервал проверки» интерпретатора; см.
setcheckinterval().Устарело начиная с версии 3.2: Используйте
getswitchinterval()вместо этого.
-
sys.getdefaultencoding() -
Возвращает имя текущего кодирования по умолчанию для строк, используемое реализацией Unicode.
-
sys.getdlopenflags() -
Возвращает текущее значение флагов, используемых для вызовов
dlopen(). Символьные имена значений флагов можно найти в модулеos(константыRTLD_xxx, например,os.RTLD_LAZY).Доступность: Unix.
-
sys.getfilesystemencoding() -
Возвращает имя кодировки, используемой для преобразования между именами файлов Unicode и именами файлов в байтах. Для лучшей совместимости str следует использовать для имен файлов во всех случаях, хотя представление имен файлов в байтах также поддерживается. Функции, принимающие или возвращающие имена файлов, должны поддерживать либо str, либо bytes и внутри преобразовывать их в предпочтительное представление системы.
Эта кодировка всегда совместима с ASCII.
os.fsencode()иos.fsdecode()следует использовать для обеспечения правильного использования кодировки и режима ошибок.- В режиме UTF-8 кодировка равна
utf-8на любой платформе. - В Mac OS X кодировка равна
'utf-8'. - В Unix кодировка равна кодировке локали.
- В Windows кодировка может быть
'utf-8'или'mbcs', в зависимости от конфигурации пользователя.
Изменено в версии 3.2:
getfilesystemencoding()результат больше не может бытьNone.Изменено в версии 3.6: Windows больше не гарантирует возврат
'mbcs'. См. PEP 529 и_enablelegacywindowsfsencoding()для получения дополнительной информации.Изменено в версии 3.7: Возвращает ‘utf-8’ в режиме UTF-8.
- В режиме UTF-8 кодировка равна
-
sys.getfilesystemencodeerrors() -
Возвращает имя режима ошибок, используемого для преобразования между именами файлов Unicode и именами файлов в байтах. Имя кодировки возвращается из
getfilesystemencoding().os.fsencode()иos.fsdecode()следует использовать для обеспечения правильного использования кодировки и режима ошибок.Добавлен в версии 3.6.
-
sys.getrefcount(object) -
Возвращает счетчик ссылок на объект object. Возвращаемое значение, как правило, на единицу больше, чем ожидалось, потому что оно включает временную ссылку в качестве аргумента функции
getrefcount().
-
sys.getrecursionlimit() -
Возвращает текущее значение ограничения рекурсии, максимальную глубину стека интерпретатора Python. Это ограничение предотвращает бесконечную рекурсию, которая может привести к переполнению стека C и аварийному завершению Python. Его можно установить с помощью функции
setrecursionlimit().
-
sys.getsizeof(object[, default]) -
Возвращает размер объекта в байтах. Объект может быть любого типа. Все встроенные объекты вернут правильные результаты, но это не обязательно верно для расширений сторонних разработчиков, поскольку это зависит от реализации.
Учитывается только потребление памяти, непосредственно относящееся к объекту, а не потребление памяти объектов, на которые он ссылается.
Если указан default, он возвращается, если объект не предоставляет способ получения размера. В противном случае возбуждается исключение
TypeError.Вызов
getsizeof()вызывает метод__sizeof__объекта и добавляет дополнительную нагрузку сборщика мусора, если объект управляется сборщиком мусора.См. рецепт рекурсивного sizeof для примера использования
getsizeof()рекурсивно для определения размера контейнеров и всех их содержимого.
-
sys.getswitchinterval() -
Возвращает «интервал переключения потоков» интерпретатора; см.
setswitchinterval().Добавлен в версии 3.2.
-
sys._getframe([depth]) -
Возвращает объект кадра из стека вызовов. Если задан необязательный целочисленный параметр depth, возвращается объект кадра, находящийся на указанную глубину ниже вершины стека. Если эта глубина больше, чем глубина стека вызовов, возбуждается исключение
ValueError. По умолчанию depth равен нулю, и возвращается кадр на вершине стека вызовов.Деталь реализации CPython: Эта функция должна использоваться только для внутренних и специализированных целей. Не гарантируется, что она будет существовать во всех реализациях Python.
-
sys.getprofile() -
Получает функцию профилирования, установленную с помощью
setprofile().
-
sys.gettrace() -
Получает функцию отслеживания, установленную с помощью
settrace().Деталь реализации CPython: Функция
gettrace()предназначена только для реализации отладчиков, профилировщиков, инструментов покрытия и т. п. Ее поведение является частью платформы реализации, а не частью определения языка, и поэтому может быть недоступно во всех реализациях Python.
-
sys.getwindowsversion() -
Возвращает кортеж с именем, описывающий текущую версию Windows. Имена элементов: 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(). См. документацию Microsoft поOSVERSIONINFOEX()для получения дополнительной информации об этих полях.platform_version возвращает точную главную версию, второстепенную версию и номер сборки текущей операционной системы, а не версию, эмулируемую для процесса. Она предназначена для использования в журнальных записях, а не для определения функциональности.
Доступность: Windows.
Изменено в версии 3.2: Изменено на кортеж с именем и добавлены service_pack_minor, service_pack_major, suite_mask и product_type.
Изменено в версии 3.6: Добавлен platform_version
-
sys.get_asyncgen_hooks() -
Возвращает объект asyncgen_hooks, который похож на
namedtupleс формой(firstiter, finalizer), где firstiter и finalizer должны быть либоNone, либо функциями, которые принимают итератор асинхронного генератора в качестве аргумента, и используются для планирования завершения работы асинхронного генератора в цикле событий.Добавлен в версии 3.6: См. PEP 525 для получения дополнительной информации.
Примечание
Эта функция добавлена на временной основе (см. PEP 411 для получения подробностей).
-
sys.get_coroutine_origin_tracking_depth() -
Получить текущую глубину отслеживания источника корутины, установленную функцией
set_coroutine_origin_tracking_depth().Добавлена в версии 3.7.
Примечание
Эта функция добавлена на временной основе (см. PEP 411 для подробностей). Используйте её только для отладки.
-
sys.get_coroutine_wrapper() -
Возвращает
None, или обёртку, установленную функциейset_coroutine_wrapper().Добавлена в версии 3.5: См. PEP 492 для более подробной информации.
Примечание
Эта функция добавлена на временной основе (см. PEP 411 для подробностей). Используйте её только для отладки.
Устарело начиная с версии 3.7: Функциональность обёртки корутин устарела и будет удалена в версии 3.8. См. bpo-32591 для подробностей.
-
sys.hash_info -
Кортеж с именами, содержащий параметры реализации числового хеширования. Для получения дополнительной информации о хешировании числовых типов см. Хеширование числовых типов.
атрибут
объяснение
widthразмер в битах, используемый для значений хеша
modulusпростое модульное число P, используемое для числовой схемы хеширования
infзначение хеша, возвращаемое для положительной бесконечности
nanзначение хеша, возвращаемое для NaN
imagмножитель, используемый для мнимой части комплексного числа
algorithmимя алгоритма хеширования для str, bytes и memoryview
hash_bitsвнутренний размер вывода алгоритма хеширования
seed_bitsразмер ключа-семени алгоритма хеширования
Добавлена в версии 3.2.
Изменено в версии 3.4: Добавлены algorithm, hash_bits и seed_bits
-
sys.hexversion -
Номер версии, закодированный в единственном целочисленном значении. Гарантируется, что он увеличивается с каждой версией, включая надлежащую поддержку нерелизных версий. Например, чтобы проверить, что интерпретатор Python имеет версию не ниже 1.5.2, используйте:
if sys.hexversion >= 0x010502F0: # use some advanced feature ... else: # use an alternative implementation or warn the user ...Это называется
hexversion, поскольку оно действительно приобретает смысл только при представлении в виде результата функцииhex(). Для более удобного отображения этой информации можно использовать кортеж с именамиsys.version_info.Дополнительную информацию о
hexversionможно найти в Версии API и ABI.
-
sys.implementation -
Объект, содержащий информацию о реализации текущего интерпретатора Python. Следующие атрибуты должны существовать во всех реализациях Python.
name — идентификатор реализации, например,
'cpython'. Фактическая строка определяется реализацией Python, но гарантируется, что она будет в нижнем регистре.version — кортеж с именами, в том же формате, что и
sys.version_info. Он представляет версию реализации Python. Это имеет разное значение от конкретной версии языка Python, которому соответствует текущий интерпретатор, которую представляетsys.version_info. Например, для PyPy 1.8sys.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.cache_tag — тег, используемый механизмом импорта в именах файлов кэшированных модулей. Как правило, он представляет собой сочетание имени и версии реализации, например,
'cpython-33'. Однако реализация Python может использовать другое значение, если это уместно. Еслиcache_tagустановлено в значениеNone, это указывает на то, что кэширование модулей должно быть отключено.sys.implementationможет содержать дополнительные атрибуты, специфичные для реализации Python. Эти нестандартные атрибуты должны начинаться с нижнего подчеркивания и не описаны здесь. Независимо от его содержимого,sys.implementationне будет изменяться во время выполнения интерпретатора, а также между версиями реализации. (Однако он может изменяться между версиями языка Python). См. PEP 421 для получения дополнительной информации.Добавлена в версии 3.3.
Примечание
Добавление новых обязательных атрибутов должно происходить через стандартный процесс PEP. См. PEP 421 для получения дополнительной информации.
-
sys.int_info -
Кортеж с именами, содержащий информацию о внутренней представлении целых чисел в Python. Атрибуты только для чтения.
Атрибут
Объяснение
bits_per_digitколичество битов, содержащихся в каждом разряде. Целые числа Python хранятся во внутренней базе
2**int_info.bits_per_digitsizeof_digitразмер в байтах типа C, используемого для представления разряда
Добавлена в версии 3.1.
-
sys.__interactivehook__ -
Когда этот атрибут существует, его значение автоматически вызывается (без аргументов) при запуске интерпретатора в интерактивном режиме. Это делается после чтения файла
PYTHONSTARTUP, поэтому вы можете установить этот обработчик там. Модульsiteустанавливает это значение.Добавлена в версии 3.4.
-
sys.intern(string) -
Включить строку в таблицу «интернированных» строк и вернуть интернированную строку — это сама строка или её копия. Интернирование строк полезно для повышения производительности при поиске в словаре — если ключи в словаре интернированы, а ключ поиска интернирован, сравнения ключей (после хеширования) можно выполнять по указателям вместо сравнения строк. Как правило, имена, используемые в программах Python, автоматически интернируются, а словари, используемые для хранения атрибутов модулей, классов или экземпляров, имеют интернированные ключи.
Интернированные строки не бессмертны; вы должны сохранить ссылку на возвращаемое значение
intern(), чтобы извлечь выгоду из этого.
-
sys.is_finalizing() -
Возвращает
True, если интерпретатор Python завершает работу,Falseв противном случае.Добавлена в версии 3.5.
-
sys.last_type -
sys.last_value -
sys.last_traceback -
Эти три переменные не всегда определены; они устанавливаются, когда исключение не обрабатывается, и интерпретатор выводит сообщение об ошибке и трассировку стека. Их предполагаемое использование заключается в том, чтобы позволить интерактивному пользователю импортировать модуль отладчика и заняться постобъёмной отладкой без необходимости повторного выполнения команды, вызвавшей ошибку. (Типичное использование —
import pdb; pdb.pm()для входа в постобъёмной отладчик; см.pdbмодуль для получения дополнительной информации.)Значение переменных такое же, как у возвращаемых значений из
exc_info()выше.
-
sys.maxsize -
Целое число, задающее максимальное значение, которое может принимать переменная типа
Py_ssize_t. Обычно это2**31 - 1на 32-битной платформе и2**63 - 1на 64-битной платформе.
-
sys.maxunicode -
Целое число, задающее значение самого большого кодового пункта Юникода, т. е.
1114111(0x10FFFFв шестнадцатеричном формате).Изменено в версии 3.3: До PEP 393,
sys.maxunicodeобычно было либо0xFFFFили0x10FFFF, в зависимости от параметра конфигурации, указывающего, хранятся ли символы Юникода как UCS-2 или UCS-4.
-
sys.meta_path -
Список объектов поисковика метапути, которые вызывают свои методы
find_spec()для определения, может ли какой-либо из объектов найти импортируемый модуль. Методfind_spec()вызывается как минимум с абсолютным именем импортируемого модуля. Если импортируемый модуль содержится в пакете, то атрибут__path__родительского пакета передаётся как второй аргумент. Метод возвращает спецификацию модуля илиNone, если модуль не найден.См. также
-
importlib.abc.MetaPathFinder -
Абстрактный базовый класс, определяющий интерфейс объектов-поисковиков в
meta_path. -
importlib.machinery.ModuleSpec -
Конкретный класс, экземпляры которого должен возвращать
find_spec().
Изменено в версии 3.4: Спецификации модулей были введены в Python 3.4, PEP 451. Более ранние версии Python искали метод под названием
find_module(). Это всё ещё вызывается в качестве резервного варианта, если у записи вmeta_pathнет методаfind_spec(). -
-
sys.modules -
Это словарь, сопоставляющий имена модулей с уже загруженными модулями. Его можно изменять для принудительной перезагрузки модулей и других трюков. Однако замена словаря не обязательно будет работать как ожидается, а удаление важных элементов из словаря может привести к сбою Python.
-
sys.path -
Список строк, определяющий путь поиска модулей. Инициализируется из переменной окружения
PYTHONPATH, а также от зависимого от установки значения по умолчанию.При инициализации при запуске программы первый элемент этого списка,
path[0], — это каталог, содержащий скрипт, который был использован для вызова интерпретатора Python. Если каталог скрипта недоступен (например, если интерпретатор вызван интерактивно или если скрипт считывается из стандартного ввода),path[0]— это пустая строка, что заставляет Python сначала искать модули в текущем каталоге. Обратите внимание, что каталог скрипта вставляется *перед* записями, добавленными в результатеPYTHONPATH.Программа свободна изменять этот список по своему усмотрению. В
sys.pathследует добавлять только строки и байтовые объекты; все другие типы данных игнорируются при импорте.
-
sys.path_hooks -
Список вызываемых объектов, которые принимают аргумент пути для попытки создания поисковика для пути. Если поисковик может быть создан, он должен быть возвращён вызываемым объектом, в противном случае следует поднять
ImportError.Первоначально описано в PEP 302.
-
sys.path_importer_cache -
Словарь, используемый в качестве кэша для объектов поисковика. Ключи — это пути, которые были переданы
sys.path_hooks, а значения — найденные поисковики. Если путь является допустимым путём в файловой системе, но поисковик не найден вsys.path_hooks, тоNoneхранится.Первоначально описано в PEP 302.
Изменено в версии 3.3:
Noneхранится вместоimp.NullImporter, если поисковик не найден.
-
sys.platform -
Эта строка содержит идентификатор платформы, который может быть использован для добавления платформозависимых компонентов в
sys.path, например.Для систем Unix, кроме Linux, это имя ОС в нижнем регистре, возвращаемое
uname -sс первой частью версии, возвращаемойuname -r, добавленной, например,'sunos5'или'freebsd8', *на момент сборки Python*. Если вы не хотите проверять конкретную версию системы, рекомендуется использовать следующий фрагмент кода:if sys.platform.startswith('freebsd'): # FreeBSD-specific code here... elif sys.platform.startswith('linux'): # Linux-specific code here...Для других систем значения следующие:
Система
значение
platformLinux
'linux'Windows
'win32'Windows/Cygwin
'cygwin'Mac OS X
'darwin'Изменено в версии 3.3: В Linux,
sys.platformбольше не содержит основной версии. Теперь всегда'linux', а не'linux2'или'linux3'. Поскольку в более старых версиях Python присутствует номер версии, рекомендуется всегда использовать приведённый выше фрагмент кода.См. также
os.nameимеет более грубую гранулярность.os.uname()предоставляет платформозависимую информацию о версии системы.Модуль
platformпредоставляет подробные проверки идентификации системы.
-
sys.prefix -
Строка, задающая префикс каталога, специфичный для сайта, где установлены независимые от платформы файлы Python; по умолчанию это строка
'/usr/local'. Это можно установить во время сборки, используя аргумент--prefixскрипта configure. Основное собрание модулей Python устанавливается в каталогprefix/lib/pythonX.Y, а независимые от платформы заголовочные файлы (кромеpyconfig.h) хранятся вprefix/include/pythonX.Y, где X.Y — номер версии Python, например3.2.Примечание
Если активна виртуальная среда виртуальной среды, это значение будет изменено в
site.pyдля указания на виртуальную среду. Значение для установки Python по-прежнему будет доступно черезbase_prefix.
-
sys.ps1 -
sys.ps2 -
Строки, определяющие первичный и вторичный пригласительные знаки интерпретатора. Они определены только если интерпретатор находится в интерактивном режиме. Их начальные значения в этом случае —
'>>> 'и'... '. Если переменной присвоено нестроковое значение, егоstr()переоценивается каждый раз, когда интерпретатор готовится к чтению новой интерактивной команды; это позволяет реализовать динамическое приглашение.
-
sys.setcheckinterval(interval) -
Установите «интервал проверки» интерпретатора. Это целочисленное значение определяет, как часто интерпретатор проверяет периодические вещи, такие как переключение потоков и обработчики сигналов. По умолчанию значение равно
100, что означает, что проверка выполняется каждые 100 виртуальных инструкций Python. Увеличение этого значения может повысить производительность программ, использующих потоки. Установка значения<=0 проверяет каждую виртуальную инструкцию, максимизируя отзывчивость, а также накладные расходы.Устарело начиная с версии 3.2: Эта функция больше не оказывает влияния, так как внутренняя логика переключения потоков и асинхронных задач была переписана. Используйте
setswitchinterval()вместо этого.
-
sys.setdlopenflags(n) -
Установите флаги, используемые интерпретатором для вызовов
dlopen(), например, при загрузке интерпретатором модулей расширения. Среди прочего, это позволит выполнить ленивое разрешение символов при импорте модуля, если вызов имеет видsys.setdlopenflags(0). Чтобы совместно использовать символы между модулями расширений, вызовите какsys.setdlopenflags(os.RTLD_GLOBAL). Символьные имена значений флагов можно найти в модулеos(RTLD_xxxконстанты, например,os.RTLD_LAZY).Доступность: Unix.
-
sys.setprofile(profilefunc) -
Установите системную функцию профилирования, которая позволяет реализовать профайлер кода Python на Python. Подробнее см. главу Профайлеры Python. Функция профилирования системы вызывается аналогично функции отслеживания системы (см.
settrace()), но вызывается с другими событиями, например, она не вызывается для каждой выполняемой строки кода (только при вызове и возврате, но событие возврата сообщается даже при возникновении исключения). Функция специфична для потока, но нет способа для профайлера узнать о переключениях контекста между потоками, поэтому нет смысла использовать ее при наличии нескольких потоков. Кроме того, ее возвращаемое значение не используется, поэтому она может просто возвращатьNone. Ошибка в функции профилирования приведет к ее отмене.Функции профилирования должны иметь три аргумента: 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.setrecursionlimit(limit) -
Установите максимальную глубину стека интерпретатора Python на limit. Это ограничение предотвращает бесконечную рекурсию от переполнения стека C и сбоя Python.
Максимально возможная граница зависит от платформы. Пользователю может потребоваться установить более высокую границу, если программа требует глубокой рекурсии и платформа поддерживает более высокую границу. Это следует делать с осторожностью, так как слишком высокая граница может привести к сбою.
Если новая граница слишком низка на текущей глубине рекурсии, возникает исключение
RecursionError.Изменено в версии 3.5.1: Теперь возникает исключение
RecursionError, если новая граница слишком мала на текущей глубине рекурсии.
-
sys.setswitchinterval(interval) -
Установите интервал переключения потоков интерпретатора (в секундах). Это число с плавающей точкой определяет желательную длительность «временных квантов», выделенных для одновременного выполнения потоков Python. Обратите внимание, что фактическое значение может быть больше, особенно если используются длительные внутренние функции или методы. Также, какой поток будет запланирован в конце интервала, — решение операционной системы. Интерпретатор не имеет собственного планировщика.
Добавлена в версии 3.2.
-
sys.settrace(tracefunc) -
Установите функцию отслеживания системы, которая позволяет реализовать отладчик кода Python в Python. Функция специфична для потока; для того, чтобы отладчик поддерживал несколько потоков, он должен зарегистрировать функцию отслеживания, используя
settrace()для каждого потока, который отлаживается, или использоватьthreading.settrace().Функции отслеживания должны иметь три аргумента: frame, event и arg. frame — текущая рамка стека. event — строка:
'call','line','return','exception'или'opcode'. arg зависит от типа события.Функция отслеживания вызывается (с event, установленным на
'call') всякий раз, когда вводится новая область видимости; она должна возвращать ссылку на локальную функцию отслеживания, которая будет использоваться для новой области видимости, илиNoneесли область видимости не должна отслеживаться.Локальная функция отслеживания должна возвращать ссылку на себя (или на другую функцию для дальнейшего отслеживания в этой области видимости) или
Noneдля отключения отслеживания в этой области видимости.Если в функции отслеживания произошла ошибка, она будет снята, точно так же, как если бы была вызвана
settrace(None).События имеют следующие значения:
-
'call' -
Вызывается функция (или какой-либо другой блок кода). Вызывается глобальная функция отслеживания; arg —
None; возвращаемое значение определяет локальную функцию отслеживания. -
'line' -
Интерпретатор собирается выполнить новую строку кода или повторно выполнить условие цикла. Вызывается локальная функция отслеживания; arg —
None; возвращаемое значение определяет новую локальную функцию отслеживания. См.Objects/lnotab_notes.txtдля подробного объяснения, как это работает. События по строкам могут быть отключены для кадра, установивf_trace_linesнаFalseв этом кадре. -
'return' -
Функция (или другой блок кода) собирается вернуть. Вызывается локальная функция отслеживания; arg — значение, которое будет возвращено, или
Noneесли событие вызвано поднятием исключения. Возвращаемое значение функции отслеживания игнорируется. -
'exception' -
Произошло исключение. Вызывается локальная функция отслеживания; arg — кортеж
(exception, value, traceback); возвращаемое значение определяет новую локальную функцию отслеживания. -
'opcode' -
Интерпретатор собирается выполнить новый оператор кода (см.
disдля подробностей об операторах кода). Вызывается локальная функция отслеживания; arg —None; возвращаемое значение определяет новую локальную функцию отслеживания. События по операторам кода по умолчанию не генерируются: они должны быть явно запрошены, установивf_trace_opcodesнаTrueв кадре.
Обратите внимание, что при распространении исключения вниз по цепочке вызывающих функций событие
'exception'генерируется на каждом уровне.Для более тонкой настройки можно установить функцию отслеживания, явно присвоив
frame.f_trace = tracefuncвместо того, чтобы полагаться на ее косвенное назначение через возвращаемое значение уже установленной функции отслеживания. Это также необходимо для активации функции отслеживания в текущей рамке, чегоsettrace()не делает. Обратите внимание, что для этого должна быть установлена глобальная функция отслеживания с помощьюsettrace()для активации механизма отслеживания в runtime, но это может быть не та же функция отслеживания (например, это может быть функция отслеживания с низкой загрузкой, которая просто возвращаетNoneдля отключения себя сразу в каждом кадре).Дополнительную информацию о кодовых объектах и объектах фреймов см. в Стандартной иерархии типов.
Подробность реализации CPython: Функция
settrace()предназначена только для реализации отладчиков, профилеров, инструментов покрытия и т. п. Ее поведение является частью реализации платформы, а не частью определения языка, и, следовательно, может быть недоступно во всех реализациях Python.Изменено в версии 3.7:
'opcode'тип события добавлен;f_trace_linesиf_trace_opcodesатрибуты добавлены в кадры -
-
sys.set_asyncgen_hooks(firstiter, finalizer) -
Принимает два необязательных ключевых аргумента, которые являются вызываемыми объектами, принимающими итератор асинхронного генератора в качестве аргумента. Вызываемый объект firstiter будет вызван, когда асинхронный генератор будет итеративно обработан в первый раз. Вызываемый объект finalizer будет вызван, когда асинхронный генератор собирается быть удален сборщиком мусора.
Введено в версии 3.6: См. PEP 525 для получения дополнительных сведений, а пример реализации метода finalizer см. в реализации
asyncio.Loop.shutdown_asyncgensв Lib/asyncio/base_events.pyПримечание
Эта функция добавлена на временной основе (см. PEP 411 для получения подробностей).
-
sys.set_coroutine_origin_tracking_depth(depth) -
Позволяет включить или отключить отслеживание происхождения сопрограмм. При включенном отслеживании атрибут
cr_originобъектов сопрограмм будет содержать кортеж кортежей (имя_файла, номер_строки, имя_функции), описывающих трассировку, где был создан объект сопрограммы, с последним вызовом в первую очередь. При отключенииcr_originбудет None.Для включения передайте значение depth больше нуля; это устанавливает количество кадров, информация о которых будет захвачена. Для отключения передайте значение depth, равное нулю.
Эта настройка специфична для потока.
Введено в версии 3.7.
Примечание
Эта функция добавлена на временной основе (см. PEP 411 для получения подробностей). Используйте ее только для отладки.
-
sys.set_coroutine_wrapper(wrapper) -
Позволяет перехватывать создание объектов сопрограмм (только те, которые создаются функцией
async def; генераторы, оформленные с помощьюtypes.coroutine()илиasyncio.coroutine(), не будут перехвачены).Аргумент wrapper должен быть либо:
- вызываемый объект, принимающий один аргумент (объект сопрограммы);
-
None, чтобы сбросить обёртку.
Если вызов производится дважды, новая обертка заменяет предыдущую. Функция специфична для потока.
Вызываемый объект wrapper не может определять новые сопрограммы напрямую или косвенно:
def wrapper(coro): async def wrap(coro): return await coro return wrap(coro) sys.set_coroutine_wrapper(wrapper) async def foo(): pass # The following line will fail with a RuntimeError, because # ``wrapper`` creates a ``wrap(coro)`` coroutine: foo()См. также
get_coroutine_wrapper().Введено в версии 3.5: См. PEP 492 для получения дополнительных сведений.
Примечание
Эта функция добавлена на временной основе (см. PEP 411 для получения подробностей). Используйте ее только для отладки.
Устарело начиная с версии 3.7: Функциональность обертки сопрограмм устарела и будет удалена в версии 3.8. См. bpo-32591 для получения подробностей.
-
sys._enablelegacywindowsfsencoding() -
Изменяет кодировку и режим ошибок системного файла по умолчанию на «mbcs» и «replace» соответственно для согласованности с версиями Python до 3.6.
Это эквивалентно определению переменной среды
PYTHONLEGACYWINDOWSFSENCODINGперед запуском Python.Доступность: Windows.
Введено в версии 3.6: См. PEP 529 для получения дополнительных сведений.
-
sys.stdin -
sys.stdout -
sys.stderr -
Объекты файлов, используемые интерпретатором для стандартного ввода, вывода и ошибок:
-
stdinиспользуется для всего интерактивного ввода (включая вызовыinput()); -
stdoutиспользуется для выводаprint()и операторов выражений, а также для подсказокinput(); - Вводные сообщения и сообщения об ошибках интерпретатора выводятся в
stderr.
Эти потоки являются обычными текстовыми файлами, как те, которые возвращаются функцией
open(). Их параметры выбираются следующим образом:-
Кодировка символов зависит от платформы. На платформах, не являющихся Windows, используется кодировка локали (см.
locale.getpreferredencoding()).В Windows для устройства консоли используется UTF-8. Для устройств, не являющихся символьными (например, файлы на диске и каналы), используется кодировка системы локали (т.е. кодовая страница ANSI). Для неконсольных символьных устройств, таких как NUL (т.е. когда
isatty()возвращаетTrue), соответственно для stdin и stdout/stderr используются значения кодовых страниц ввода и вывода консоли при запуске. По умолчанию, если процесс изначально не подключен к консоли, используется кодировка системы локали.Специальное поведение консоли можно переопределить, задав переменную среды PYTHONLEGACYWINDOWSSTDIO перед запуском Python. В этом случае, для кодовых страниц консоли используются те же правила, что и для других символьных устройств.
На всех платформах вы можете переопределить кодировку символов, задав переменную среды
PYTHONIOENCODINGперед запуском Python или используя новый-Xutf8командную опцию и переменную средыPYTHONUTF8. Однако для консоли Windows это применяется только в том случае, если также установленаPYTHONLEGACYWINDOWSSTDIO. - В интерактивном режиме потоки
stdoutиstderrимеют построчную буферизацию. В противном случае они имеют блочную буферизацию, как обычные текстовые файлы. Вы можете переопределить это значение с помощью командной опции-u.
Примечание
Для записи или чтения двоичных данных в/из стандартных потоков используйте базовый двоичный
bufferобъект. Например, для записи байтов вstdout, используйтеsys.stdout.buffer.write(b'abc').Однако, если вы пишете библиотеку (и не контролируете контекст, в котором будет выполняться её код), помните, что стандартные потоки могут быть заменены на объекты, подобные файлам, например,
io.StringIO, которые не поддерживают атрибутbuffer. -
-
sys.__stdin__ -
sys.__stdout__ -
sys.__stderr__ -
Эти объекты содержат исходные значения
stdin,stderrиstdoutв начале программы. Они используются во время завершения и могут быть полезны для вывода в фактический стандартный поток, независимо от того, был ли перенаправлен объектsys.std*.Это также может быть использовано для восстановления фактических файлов до известных рабочих объектов файлов в случае их перезаписи повреждённым объектом. Однако предпочтительный способ сделать это - явно сохранить предыдущий поток перед его заменой и восстановить сохранённый объект.
Примечание
В некоторых условиях
stdin,stdoutиstderr, а также исходные значения__stdin__,__stdout__и__stderr__могут бытьNone. Это обычно происходит в приложениях Windows GUI, которые не подключены к консоли, и приложениях Python, запущенных с помощью pythonw.
-
sys.thread_info -
Именованная кортеж содержащий информацию о реализации потоков.
Атрибут
Описание
nameИмя реализации потоков:
-
'nt': Потоки Windows -
'pthread': Потоки POSIX -
'solaris': Потоки Solaris
lockИмя реализации блокировки:
-
'semaphore': Блокировка использует семафор -
'mutex+cond': Блокировка использует мьютекс и переменную условия -
Noneесли эта информация неизвестна
Имя и версия библиотеки потоков. Это строка или
Noneесли эта информация неизвестна.Новое в версии 3.3.
-
-
sys.tracebacklimit -
При установке этого переменной в целочисленное значение, она определяет максимальное количество уровней отладочной информации, выводимых при возникновении необработанного исключения. По умолчанию
1000. При установке в0или меньше, вся информация об отладке подавляется и выводятся только тип и значение исключения.
-
sys.version -
Строка, содержащая номер версии интерпретатора Python плюс дополнительная информация о номере сборки и компиляторе, используемом. Эта строка отображается при запуске интерактивного интерпретатора. Не извлекайте из неё информацию о версии, вместо этого используйте
version_infoи функции, предоставляемые модулемplatform.
-
sys.api_version -
Версия API C для этого интерпретатора. Программистам может быть полезна при отладке конфликтов версий между Python и модулями расширений.
-
sys.version_info -
Кортеж, содержащий пять компонентов номера версии: major, minor, micro, releaselevel и serial. Все значения, кроме releaselevel, являются целыми числами; уровень выпуска —
'alpha','beta','candidate', или'final'. Значениеversion_infoсоответствующее версии Python 2.0, равно(2, 0, 0, 'final', 0). Компоненты также можно получить по имени, поэтомуsys.version_info[0]эквивалентноsys.version_info.majorи так далее.Изменено в версии 3.1: Добавлены именованные атрибуты компонентов.
-
sys.warnoptions -
Это деталь реализации фреймворка предупреждений; не изменяйте это значение. Обратитесь к модулю
warningsдля получения более подробной информации о фреймворке предупреждений.
-
sys.winver -
Номер версии, используемый для формирования ключей реестра на платформах Windows. Он хранится как строковый ресурс 1000 в DLL Python. Значение обычно является первыми тремя символами
version. Предоставляется в модулеsysдля справочных целей; изменение этого значения не влияет на ключи реестра, используемые Python.Доступность: Windows.
-
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}Деталь реализации CPython: Это специфичный для CPython способ доступа к опциям, переданным через
-X. Другие реализации могут экспортировать их другими способами или вообще не экспортировать.Новое в версии 3.2.
Цитаты
-
C99 -
ISO/IEC 9899:1999. «Языки программирования – C». Публичный проект этого стандарта доступен по адресу http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf.
© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.7/library/sys.html