Модуль sys обеспечивает доступ к некоторым переменным, используемым или поддерживаемым интерпретатором и к функциям, которые тесно связаны с интерпретатором. Эти переменные и функции всегда доступны и позволяют менять конфигурацию интерпретатора во время выполнения, а так же взаимодействовать с операционной системой за пределами выполняемой программы.
Функция sys.audit() вызывает событие аудита с любыми активными хуками. Функция sys.addaudithook() добавляет вызываемый хук/перехват в список активных хуков аудита для текущего интерпретатора.
Функция argv модуля sys возвращает список аргументов командной строки, передаваемых скрипту Python. Выражение argv[0] - это имя скрипта и зависит от операционной системы, является ли это полный путь или нет.
Функция sys.platform возвращает строку, которая содержит идентификатор платформы. Функция sys.getwindowsversion() возвращает именованный кортеж, описывающий версию Windows.
Авторские права, относящиеся к интерпретатору Python. Номер версии интерпретатора Python. Версия API языка `C` для интерпретатора Python. Информация о реализации текущего работающего интерпретатора Python
sys.exec_prefix - каталог установки Python. sys.executable - путь к интерпретатору Python. sys.prefix - папка установки интерпретатора python.
Функция `sys.getdefaultencoding()` возвращает имя текущей кодировки по умолчанию. Функция `sys.getfilesystemencoding()` возвращает имя кодировки преобразования между именами файлов. Функция `sys.getfilesystemencodeerrors()` режим ошибки преобразования между именами файлов
Функция sys.getrecursionlimit() возвращает текущее значение предела рекурсии. Функция sys.setrecursionlimit() устанавливает максимальную глубину стека интерпретатора Python для ограничения.
Управление трассировкой из кода Python и извлечение отладочной информации, профилирование кода.
По умолчанию sys.breakpointhook() подключает отладчик pdb, но его можно настроить на любую другую функцию, чтобы можно было выбрать, какой отладчик использовать.
sys.stdin - используется для всех интерактивных входных данных, включая вызовы input().sys.stdout - используется для вывода оператором print() и выражений, которые возвращают значение, а также для подсказок input(). sys.stderr - сообщения об ошибках и собственные запросы переводчика.
Когда возникает исключение и не обрабатывается, интерпретатор вызывает sys.excepthook с тремя аргументами, классом исключения, экземпляром исключения и объектом трассировки. Возвращаемое значение sys.exc_info() представляет собой кортеж из трех членов, содержащий класс исключения, экземпляр иск
Функция `getrefcount()` модуля `sys` возвращает счетчик ссылок объекта.
Атрибут sys.path содержит список строк, который указывает путь поиска для модулей. Атрибут sys.path_hooks содержит список вызываемых объектов, которые принимают аргумент пути, чтобы попытаться создать искатель для пути.
Атрибут sys.modules представляет собой словарь, который отображает имена модулей на модули, которые уже были загружены.
Атрибут `float_info` модуля `sys` представляет собой именованный кортеж, содержащий информацию о типе `float`.
Атрибут int_info модуля sys представляет собой именованный кортеж, который содержит информацию о внутреннем представлении Python целых чисел.
Атрибут maxsize модуля sys представляет собой целое число, дающее максимальное значение, которое может принимать переменная типа Py_ssize_t. Обычно это 32 ** 31-1 на 32-битной платформе и 2 ** 63-1 на 64-битной платформе.
Атрибут `byteorder` модуля `sys` представляет собой индикатор собственного порядка байтов.
sys.exit() - это быстрый способ выйти из программы при возникновении ошибки. Она реализуется путем вызова исключения SystemExit, поэтому выполняются действия по очистке, указанные в предложениях finally операторов try и можно перехватить попытку выхода на внешнем уровне.
Функция `getsizeof()` модуля `sys` возвращает размер объекта `object` в байтах. Объект может быть любым типом объекта. Учитывается только потребление памяти, непосредственно приписываемое объекту, а не потребление памяти объектами, к которым он относится.
Если атрибут `dont_write_bytecode` модуля `sys` равен `True`, то Python не будет пытаться записывать файлы `.pyc` при импорте исходных модулей. Этот атрибут можно установить самостоятельно их кода Python для управления генерацией файла байт-кода.
Функция `warnoptions()` модуля `sys` возвращает список аргументов параметра командной строки `-W`, полученного интерпретатором.
Эти три переменные sys.last_type, sys.last_value, sys.last_traceback не всегда определены. Они устанавливаются, когда исключение не обрабатывается, а интерпретатор выводит сообщение об ошибке и трассировку стека. (устарели с версии Python 3.12)
Новое в Python 3.12. Переменная sys.last_exc модуля sys не всегда определена. Она устанавливается в экземпляр исключения, когда исключение не обрабатывается и интерпретатор печатает сообщение об ошибке и обратную трассировку стека.
В материале описываются функции модуля sys, которые позволяют осуществлять планирование финализации асинхронного генератора в экстренных случаях.
Функция sys.get_coroutine_origin_tracking_depth() получает текущую глубину отслеживания происхождения сопрограммы. Функция sys.set_coroutine_origin_tracking_depth() позволяет включать или отключать отслеживание происхождения сопрограммы.
Пространство имен sys.monitoring обеспечивает доступ к функциям и константам, необходимым для активации и управления мониторингом событий.
Функция getobjects() модуля sys существует только в том случае, если CPython был собран с использованием специального параметра --with-trace-refs. Она предназначена исключительно для отладки проблем со сборкой мусора.