sys

Модуль содержит переменные и функции, имеющие отношение к интерпретатору и его окружению.

api_version

sys.api_version

Целочисленное представление версии C API интерпретатора Python. Используется при работе с модулями расширений.

argv

sys.argv

Список параметров командной строки, передаваемых программе. Элемент argv[0] хранит имя программы.

sys.argv
# ['script.py']

builtin_module_names

sys.builtin_module_names

Кортеж с именами модулей, встроенных в исполняемый файл интерпретатора Python.

byteorder

sys.byteorder

Порядок следования байтов, используемый аппаратной платформой: little – обратный порядок следования байтов, big – прямой.

displayhook

sys.__displayhook__

Оригинальное значение функции displayhook().

dont_write_bytecode

sys.dont_write_bytecode

Логический флаг, который определяет, должен ли интерпретатор Python создавать файлы с байт-кодом (с расширением .pyc или .pyo) при импортировании модулей. Начальное значение True, если интерпретатор не был вызван с ключом -B. Программа может изменять значение этой переменной посвоему усмотрению.

dllhandle

sys.dllhandle

Целочисленный идентификатор для Python DLL (используется в Windows).

excepthook

sys.__excepthook__

Оригинальное значение функции excepthook().

exec_prefix

sys.exec_prefix

Каталог, куда были установлены платформозависимые файлы Python.

executable

sys.executable

Строка, содержащая имя выполняемого файла интерпретатора.

flags

sys.flags

Объект, представляющий различные параметры командной строки, которые были переданы при запуске самому интерпретатору Python. Ниже приводится список атрибутов объекта flags вместе с соответствующими параметрами командной строки, включающими флаги. Эти атрибуты доступны только для чтения.

Список атрибутов, с параметрами командной строки

  • flags.debug - -d

  • flags.py3k_warning - -3

  • flags.division_warnin - -Q

  • flags.division_new - -Qnew

  • flags.inspect - -i

  • flags.interactive - -i

  • flags.optimize - -O или –OO

  • flags.dont_write_byte -B

  • flags.no_site - -S

  • flags.ignore_environm - -E

  • flags.tabcheck - -t или -tt

  • flags.verbose - -v

  • flags.unicode - -U

float_info

sys.float_info

хранит информацию о внутреннем представлении чисел с плавающей точкой. Значения атрибутов этого объекта взяты из заголовочного файла float.h языка C.

  • float_info.epsilon - Разность между 1.0 и ближайшим числом с плавающей точкой больше 1.0.

  • float_info.dig - Количество десятичных знаков, которые могут быть представлены без изменений после округления.

  • float_info.mant_dig - Количество цифр мантиссы в системе счисления по основанию, указанному в атрибуте float_info.radix.

  • float_info.max - Максимально возможное число с плавающей точкой.

  • float_info.max_exp - Максимальная величина экспоненты в системе счисления по основанию, указанному в атрибуте float_info.radix.

  • float_info.max_10_exp - Максимальная величина экспоненты в системе счисления по основанию 10.

  • float_info.min - Минимально возможное положительное число с плавающей точкой.

  • float_info.min_exp - Минимальная величина экспоненты в системе счисления по основанию, указанному в атрибуте float_info.radix.

  • float_info.min_10_exp - Минимальная величина экспоненты в системе счисления по основанию 10.

  • float_info.radix - Основание системы счисления для показателя степени.

  • float_info.rounds - Алгоритм округления (-1 – не определено, 0 – в сторону нуля, 1 – до ближайшего значения, 2 – в сторону положительной бесконечности, 3 – в сторону отрицательной бесконечности).

sys.hexversion

Целое число, в шестнадцатеричном представлении которого закодирована информация о номере версии, содержащемся в переменной sys.version_info. Значение этой переменной всегда гарантированно увеличивается с выходом новой версии интерпретатора.

sys.last_type

тип последнего исключения. Обратите внимание, что в многопоточных приложениях не гарантируется достоверность информации переменной, поэтому рекомендуется пользоваться функцией sys.exc_info().

sys.last_value

экземпляр последнего исключения. Обратите внимание, что в многопоточных приложениях не гарантируется достоверность информации переменной, поэтому рекомендуется пользоваться функцией sys.exc_info().

sys.last_traceback

объект с трассировочной информацией. Обратите внимание, что в многопоточных приложениях не гарантируется достоверность информации переменной, поэтому рекомендуется пользоваться функцией sys.exc_info().

maxint

sys.maxint

Максимально возможное значение целого числа (только в Python 2).

maxsize

sys.maxsize

Максимально возможное целое число, поддерживаемое типом size_t языка C в системе. Это значение определяет максимально возможную длину строк, списков, словарей и других встроенных типов.

maxunicode

sys.maxunicode

Целое число, определяющее наибольший кодовый пункт Юникода, который может быть представлен. По умолчанию имеет значение 65 535 для 16-битной кодировки UCS-2. Если при сборке интерпретатор Python был настроен на использование кодировки UCS-4, это число будет больше.

modules

sys.modules

Словарь, который отображает имена модулей в объекты модулей.

path

sys.path

Список строк, определяющих путь поиска модулей. Первый элемент списка всегда содержит путь к каталогу, в котором находился сценарий, использованный для запуска интерпретатора (если доступен).

platform

sys.platform

Строка, идентифицирующая платформу

sys.platform
# 'darwin'
sys.prefix

Каталог, куда были установлены платформонезависимые файлы Python.

ps1

sys.ps1

текст основного приглашения к вводу интерпретатора. >>>. При назначении других значений для получения текста приглашения будут использоваться методы str() назначенных объектов.

ps2

sys.ps2

текст дополнительного приглашения к вводу интерпретатора. …. При назначении других значений для получения текста приглашения будут использоваться методы str() назначенных объектов.

sys.py3kwarning

В Python 2 этот флаг устанавливается в значение True, когда интерпретатор запускается с ключом -3.

stdin

sys.stdin

Объект файла, соответствующий потоку стандартного ввода. Переменная используется функциями raw_input() и input(). переменной можно назначить любые объекты, поддерживающие метод write(), принимающий единственный строковый аргумент.

stdout

sys.stdout

Объекты файла, соответствующий потоку стандартного вывода. Переменная используется инструкцией print для вывода значений аргументов и функциями raw_input() и input() – для вывода приглашения к вводу. переменной можно назначить любые объекты, поддерживающие метод write(), принимающий единственный строковый аргумент.

stderr

sys.stderr

Объекты файла, соответствующий потоку стандартного вывода сообщений об ошибках. Переменная используется интерпретатором для вывода приглашения к вводу и сообщений об ошибках. переменной можно назначить любые объекты, поддерживающие метод write(), принимающий единственный строковый аргумент.

__stdin__, __stdout__, __stderr__

Переменные, содержащие значения stdin, stdout и stderr, полученные в момент запуска интерпретатора.

tracebacklimit

sys.tracebacklimit

Максимальное количество уровней трассировочной информации, которая выводится при появлении необработанного исключения. Значение по умолчанию 1000. Значение 0 подавляет вывод трассировочной информации, при этом выводятся только тип исключения и информация из него.

version

sys.version

Строка с номером версии.

version_info

sys.version_info

Информация о версии в виде кортежа (major, minor, micro, releaselevel, serial). Все значения являются целочисленными, за исключением releaselevel, которое является строкой ‘alpha’, ‘beta’, ‘candidate’ или ‘final’.

sys.warnoptions

Список аргументов параметра командной строки –W, полученного интерпретатором.

sys.winver

Номер версии, который обычно формируется из ключей реестра в системе Windows.

sys._clear_type_cache()

Очищает внутренний кэш типов. Чтобы оптимизировать поиск наиболее часто используемых методов, внутри интерпретатора имеется небольшой кэш на 1024 записи. Этот кэш позволяет ускорить повторные попытки поиска, особенно в программном коде, где используются классы с глубокой иерархией наследования. Обычно этот кэш очищать не требуется, но эта функция может пригодиться при решении некоторых проблем освобождения памяти, связанных с подсчетом ссылок. Например, когда метод в кэше удерживает ссылку на объект, который требуется удалить.

sys._current_frames()

Возвращает словарь, отображающий идентификаторы потоков выполнения на самые верхние кадры стека, для потоков, которые были активны в момент вызова функции. Эта информация может пригодиться при разработке инструментов отладки многопоточных приложений (то есть для поиска причин взаимоблокировок). Имейте в виду, что значения, возвра щаемые функцией, представляют собой всего лишь «мгновенный снимок» интерпретатора в момент вызова функции. К тому времени, когда функция вернет результаты, потоки могут уже выполняться в другом месте.

displayhook()

sys.displayhook(value=None)

Эта функция вызывается для вывода результатов выражений, когда интерпретатор выполняется в интерактивном режиме. По умолчанию она выводит значение repr(value) в поток стандартного вывода и сохраняет его в переменной __builtin__. Имеется возможность переопределять значение displayhook, чтобы при необходимости обеспечить иное поведение.

excepthook()

sys.excepthook(type, value, traceback)
Parameters
  • type – класс исключения

  • value – значение, переданное инструкции raise

  • traceback – объект с трассировочной информацией

Эта функция вызывается при появлении необработанного исключения. По умолчанию она выводит в поток стандартного вывода сообщений об ошибках информацию об исключении и трассировочную информацию. Однако имеется возможность переопределить эту функцию и реализовать альтернативный способ реакции на необработанные исключения (что может оказаться полезным в специализированных приложениях, таких как отладчики или сценарии CGI).

exc_clear()

sys.exc_clear()

Очищает всю информацию, связанную с последним исключением. При этом очищается только информация, имеющая отношение к вызывающему потоку выполнения.

exc_info()

sys.exc_info()

Возвращает кортеж (type, value, traceback) с информацией об исключении, обрабатываемом в текущий момент. В аргументе type передается тип исключения, в аргументе value – параметры инструкции raise, а в аргументе traceback – объект с трассировочной информацией о той точке в стеке вызовов, где возникло исключение. Если в текущий момент времени никакое исключение не обрабатывается, возвращает None.

exit()

sys.exit(arg=0)
  • arg - код завершения. 0 рассматривается как признак нормального завершения (по умолчанию); ненулевые значения интерпретируются как признак ошибки. Если передать значение, не являющееся целым числом, оно будет выведено в поток sys.stderr, а завершение работы будет произведено с кодом 1.

Завершает работу интерпретатора, возбуждая исключения SystemExit.

sys.getcheckinterval()

Возвращает величину интервала проверки, который определяет, как часто интерпретатор будет проверять наличие сигналов, необходимость переключения потоков выполнения и других периодических событий.

sys.getdefaultencoding()

Возвращает кодировку, используемую по умолчанию для преобразований строк Юникода. Возвращаемое значение является строкой, такой как ‘ascii’ или ‘utf-8’. Установка кодировки по умолчанию производится модулем site.

sys.getdlopenflags()

Возвращает флаги, которые передаются функции dlopen(), написанной на языке C, во время загрузки модулей расширений в UNIX.

sys.getfilesystemencoding()

Возвращает кодировку символов, используемую операционной системой для отображения символов Юникода в именах файлов. В Windows возвращает ‘mbcs’, а в Macintosh OS X – ‘utf-8’. В UNIX кодировка зависит от региональных настроек, и функция будет возвращать значение параметра настройки CODESET. Может возвращать None, если в системе используется кодировка по умолчанию.

sys._getframe([depth])

Возвращает объект кадра стека вызовов. Если аргумент depth опущен или равен нулю, возвращается самый верхний кадр. В противном случае возвращается кадр, расположенный ниже текущего кадра стека на указанное число уровней. Например, вызов _getframe(1) вернет кадр стека вызывающей функции. При передаче в аргументе depth недопустимого значения возбуждает исключение ValueError.

sys.getprofile()

Возвращает функцию профилирования, установленную вызовом функции setprofile().

getrecursionlimit()

sys.getrecursionlimit()

Возвращает ограничение на количество рекурсивных вызовов функций.

getrefcount()

sys.getrefcount(object)

Возвращает значение счетчика ссылок на объект object.

getsizeof()

sys.getsizeof(object[, default])

Возвращает размер объекта object в байтах. Вычисления выполняются с помощью специального метода __sizeof__() указанного объекта. Если этот метод не определен, возбуждается исключение TypeError, если не было указано значение по умолчанию в аргументе default. Поскольку на реализацию методов __sizeof__() в объектах не накладывается никаких ограничений, то нет никакой гарантии, что возвращаемое значение функции будет точно соответствовать объему занимаемой памяти. Однако для встроенных типов, таких как списки или строки, функция возвращает корректное значение.

sys.gettrace()

Возвращает функцию трассировки, установленную функцией settrace().

sys.getwindowsversion()

Возвращает кортеж (major,minor,build,platform,text), описывающий версию используемой системы Windows. Поле major содержит основной номер версии. Например, значение 4 соответствует операционной системе Windows NT 4.0, а значение 5 – Windows 2000 и Windows XP. Поле minor содержит младший номер версии. Например, значение 0 соответствует операционной системе Windows 2000, 1 а значение 1 – Windows XP. Поле build содержит номер сборки. Поле platform – целое число с информацией о платформе и может принимать одно из типичных значений: 0 (Win32s в Windows 3.1), 1 (Windows 95, 98 или Me), 2 (Windows NT, 2000, XP) или 3 (Windows CE). Поле text содержит строку с дополнительной информацией, такой как “Service Pack 3”.

sys.setcheckinterval(n)

Устанавливает количество инструкций виртуальной машины Python, которые должен выполнить интерпретатор, прежде чем он проверит наступление периодического события, такого как сигнал или необходимость переключения контекста потока выполнения. По умолчанию устанавливается значение 10.

sys.setdefaultencoding(enc)

Устанавливает кодировку по умолчанию. В аргументе enc должна передаваться строка, такая как ‘ascii’ или ‘utf-8’. Эта функция определена только в модуле site. Может вызываться из пользовательских модулей sitecustomize.

sys.setdlopenflags(flags)

Устанавливает флаги, которые в дальнейшем будут передаваться функции dlopen(), написанной на языке C, которая используется для загрузки моду-лей расширений в UNIX. Эти флаги оказывают влияние на способ разрешения имен в библиотеках и в других модулях расширений. В аргументе flags передается битная маска, составленная из значений флагов, объединенных с помощью битовой операции ИЛИ, которые определены в модуле dl, например sys.setdlopenflags(dl.RTLD_NOW | dl.RTLD_GLOBAL).

sys.setprofile(pfunc)

Устанавливает функцию профилирования, которая может использоваться реализацией профилировщика исходных текстов.

setrecursionlimit

sys.setrecursionlimit(limit)

Устанавливает ограничение на количество рекурсивных вызовов функций. По умолчанию устанавливается значение 1000. Обратите внимание, что операционная система может накладывать свои ограничения на размер стека, поэтому установка слишком большого значения может вызывать аварийное завершение процесса интерпретатора Python с сообщением «Segmentation Fault» (ошибка сегментации) или «Access Violation» (нарушение прав доступа).

sys.settrace(tfunc)

Устанавливает функцию трассировки, которая может использоваться реализацией отладчика.