sys python что такое
Модуль sys в Python
Модуль sys в Python предоставляет простые функции, которые позволяют нам напрямую взаимодействовать с интерпретатором.
Функции, предоставляемые модулем sys, позволяют нам работать с базовым интерпретатором, независимо от того, является ли он платформой Windows, Macintosh или Linux. В этом уроке мы рассмотрим эти функции и то, что с ними можно сделать.
import sys
Обратите внимание, что перед запуском каких-либо функций нам необходимо импортировать их, используя команду ниже.
sys.modules
Эта функция дает имена существующих модулей Python, импортированных текущей оболочкой. Выполним это в системе:
Я удалил много модулей, так как изначально Python по умолчанию импортирует много модулей. Таким образом, вывод может отличаться, когда вы выполните эту команду в настройках.
sys.argv
Эта функция собирает аргументы String, передаваемые скрипту python. Давайте выполним это в системе, написав скрипт:
sys.path
Эта функция просто отображает PYTHONPATH, установленный в текущей системе. Давайте выполним это в системе, написав скрипт:
sys.stdin
Эта функция используется для взятия. Давайте выполним это в системе, написав скрипт:
Вероятно, это наиболее часто используемая функция в модуле sys, так как это стандартный способ получения ввода от пользователя.
sys.copyright
Эта строка просто отображает информацию об авторских правах на текущую установленную версию Python. Давайте выполним это в системе, написав скрипт:
sys.exit
Этот метод заставляет интерпретатор внезапно завершать текущий поток выполнения. Давайте выполним это в системе, написав скрипт:
sys.getrefcount
Этот метод модуля sys возвращает количество ссылок на объект, в котором он используется. Python отслеживает это значение, поскольку, когда это значение достигает 0 в программе, память для этой переменной очищается. Давайте выполним это в системе, написав скрипт:
Модуль sys в Python
Модуль sys предлагает методы, которые позволяют работать с разными элементами среды выполнения Python. С его помощью можно взаимодействовать с интерпретатором, используя разные функции. Но для начала его нужно импортировать.
В этом материале речь пойдет о следующих возможностях модуля sys :
sys.argv
Метод argv возвращает аргументы командной строки, переданные скрипту Python, в виде списка. Важно отметить, что первый аргумент (с индексом 0 ) в списке — это название самого скрипта. Остальные представлены в виде последовательности.
Сохраните этот код в файле test.py и запустите его в командной строке вместе со следующими аргументами:
Перед этим необходимо перейти в директорию с файлом или ввести полный абсолютный путь к нему.
Нулевым параметром является название самого скрипта, которое командная строка определяет автоматически.
Вывод:
sys.maxsize
Эта функция возвращает целое число, которое обозначает, какое максимально значение может иметь переменная типа Py_ssize_t в программе Python. Это значение зависит от платформы, где программа была запущена. Если это 32-битная платформа, значение обычно 2*33 — 1 (2147483647), а в 64-битной — 2**63 — 1 (9223372036854775807).
Пример (обновите код в test.py ):
Вывод:
sys.path
Метод path из модуля sys возвращает все пути для поиска модулей Python. Формат вывода — список строк.
Такое может произойти в том случае, если скрипт был вызван интерактивно (с помощью IDLE, интегрированной среды разработки и обучения на языке Python) или же из стандартного ввода (с помощью инструкции exec ). В дальнейшем список может быть изменен в соответствии с требованиями. В него можно добавлять только строки и байты (другие типы будут игнорироваться).
Вывод:
[‘C:\\Users\\user_name, ‘C:\\Users\\ user_name \\Anaconda3\\pkgs\\nb_anacondacloud-1.2.0-py35_0\\Lib\\site-packages\\nb_anacondacloud-1.2.0-py3.5.egg-info’, ‘C:\\Users\\ user_name \\AppData\\Local\\Programs\\Python\\Python36\\python.exe’, ‘C:\\ProgramData\\Anaconda3\\DLLs’, ‘C:\\ProgramData\\Anaconda3\\lib’, ‘C:\\ProgramData\\Anaconda3’, », ‘C:\\ProgramData\\Anaconda3\\lib\\site-packages’, ‘C:\\ProgramData\\Anaconda3\\lib\\site-packages\\win32’, ‘C:\\ProgramData\\Anaconda3\\lib\\site-packages\\win32\\lib’, ‘C:\\ProgramData\\Anaconda3\\lib\\site-packages\\Pythonwin’, ‘C:\\ProgramData\\Anaconda3\\lib\\site-packages\\IPython\\extensions’, ‘C:\\Users\\ user_name \\.ipython’]
sys.version
Вывод:
sys.exit
Выводы:
Разбираем модуль sys
Модуль sys предоставляет системе особые параметры и функции. В данном разделе мы рассмотрим следующее:
sys.argv
Значение sys.argv – это список аргументов командной строки, которые причастны к скрипту Python. Первый аргумент, argv[0], имеет аналогичное скрипту Python наименование. В зависимости от платформы, на которой вы работаете, первый аргумент может содержать полный путь к скрипту или к названию файла. Для дополнительных деталей обратитесь к документации. А тем временем, попробуем поработать с парочкой примеров, чтобы познакомиться с этим инструментом:
Если вы запустите это в интерпретаторе, вы получите список с пустой строкой. Давайте создадим файл под названием sysargv.py, со следующим содержимым:
Теперь запустите код в IDLE. Вы увидите список с одним элементом, который содержит путь к вашему скрипту. Попробуем передать скрипту несколько аргументов. Откройте окно терминала \ консоли и при помощи команды cd измените каталоги на тот, в котором находится скрипт. После этого, запустите что-то наподобие этого:
sys.argv
Обратите внимание на то, что будет выведено на экран:
Первый аргумент – это название файла нашего скрипта. Следующие два аргумента в списке – это те, что мы передали нашему скрипту в командной строке.
sys.executable
Значение sys.executable – это полный путь к интерпретатору Python. Это очень полезно, когда вы используете чей-то компьютер, и вам нужно узнать, где установлен Python. В некоторых системах, данная команда не сработает, и выдаст пустую строку с надписью None. Посмотрим, как пользоваться этой функцией:
sys.exit
Данная функция позволяет разработчику выйти из Python. Функция exit принимает необязательный аргумент, обычно целое число, которое дает статус выхода. Ноль считается как успешное завершение. Обязательно проверьте, имеет ли ваша операционная система какие-либо особые значения для своих статусов выхода, чтобы вы могли следить за ними в своем собственном приложении. Обратите внимание на то, что когда вы вызываете exit, это вызовет исключение SystemExit, которое позволяет функциям очистки работать в конечных пунктах блоков try / except. Давайте взглянем на то, как вызывается данная функция:
Запустив данный код в IDLE, вы увидите возникшую ошибку SystemExit. Давайте создадим несколько скриптов для теста. Для начала вам нужно создать основной скрипт, программу, которая будет вызывать другой скрипт Python. Давайте назовем его “call_exit.py”. Скрипт должен содержать следующее:
Теперь создайте скрипт Python под названием“exit.py” и сохраните его в той же папке. Вставьте в него следующий код:
Теперь давайте запустим его:
sys.exit
Как вы могли заметить, написанный нами скрипт exit вернул ноль, так что он успешно заработал. Получается, мы заодно научились вызывать разные скрипты Python изнутри самого Python!
Есть вопросы по Python?
На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!
Telegram Чат & Канал
Вступите в наш дружный чат по Python и начните общение с единомышленниками! Станьте частью большого сообщества!
Паблик VK
Одно из самых больших сообществ по Python в социальной сети ВК. Видео уроки и книги для вас!
sys.path
Значение функции path модуля sys – это список строк, которые указывают путь поиска для модулей. Как правило, данная функция указывает Python, в каких локациях смотреть, когда он пытается импортировать модуль. В соответствии с документацией Python, sys.path инициализируется из переменной окружения PYTHONPATH, плюс зависимое от установки значение, указанное по умолчанию. Давайте взглянем на пример:
Данная функция может быть весьма полезной во время отладки причины, по которой модуль не импортируется. Вы также можете изменить путь. Так как данная функция является путем, мы можем добавлять или удалять путь из неё. Давайте взглянем на то, как добавлять путь:
Удаление пути я оставлю как задание для читателя
sys.platform
Значение sys.platform – идентификатор платформы. Вы можете использовать sys.platform чтобы добавлять модули к sys.path, импортировать разные модули, в зависимости от платформы, или запускать разные части кода. Давайте взглянем:
В данном примере мы видим, что Python работает в Windows. Вот пример того, как мы можем воспользоваться данной информацией:
Данный код показывает способы проверки того, используем ли мы определенную операционную систему. Если мы используем Windows, мы получим определенную информацию из реестра Windows, при помощи модуля Python под названием _winreg. Если мы используем Linux, мы можем выполнить команду ls, чтобы получить информацию о каталоге, в котором мы находимся.
sys.stdin / stdout / stderr
Stdin, stdout и stderr сопоставляются с файловыми объектами, которые соответствуют стандартным входам, выходам и потокам ошибок интерпретатора соответственно. Функция stdin используется для всех входов, используемых интерпретатором, за исключением скриптов, тогда как stdout используется для выходов операторов print и expression. Главная причина, по которой я акцентирую на этом внимание, заключается в том, что в какой-то момент вам нужно будет перенаправить stdout или stderr, или обе функции к файлу, такому как log, либо же какой-либо дисплей в пользовательском графическом интерфейсе, созданным вами. Вы также можете перенаправить stdin, но с такими случаями я практически не сталкивался.
Подведем итоги
Существует много других значений и методов в модуле sys. Обратитесь к документации Python, а именно к секции 27.1, если вам нужно углубиться в данный вопрос. Мы многому научились из данной статьи, поздравляю. Теперь вы знаете, как выйти из программы Python, как получить информацию о платформе, работать с аргументами, переданными командной строке, и многому другому.
Являюсь администратором нескольких порталов по обучению языков программирования Python, Golang и Kotlin. В составе небольшой команды единомышленников, мы занимаемся популяризацией языков программирования на русскоязычную аудиторию. Большая часть статей была адаптирована нами на русский язык и распространяется бесплатно.
E-mail: vasile.buldumac@ati.utm.md
Образование
Universitatea Tehnică a Moldovei (utm.md)
sys — Системоспецифичные параметры и функции¶
Модуль обеспечивает доступ к некоторым переменным, используемый или поддерживаемым интерпретатор, и к функциям, которые тесно взаимодействуют с интерпретатор. Он всегда доступен.
Изменено в версии 3.8: Флаги по умолчанию стали пустым строка ( m флаг для pymalloc был удален).
Добавлено в версии 3.2.
Добавить вызываемый hook в список активных хуки аудита для текущего интерпретатора.
См. таблица событий аудита для всех событий, поднимемых CPython, и PEP 578 для обсуждения оригинального дизайна.
Добавлено в версии 3.8.
sys.audit() вызовет существующие хуки аудита, передав имя события и аргументы, и повторно вызовет первое исключение из любого обработчика. Как правило, если возникает исключение, его не следует обрабатывать, а процесс должен быть завершен как можно быстрее. Это позволяет реализациям хуков решать, как реагировать на определенные события: они могут просто зарегистрировать событие или прервать операцию, вызвав исключение.
См. таблица событий аудита для всех событий, вызванных CPython.
Добавлено в версии 3.8.
Добавлено в версии 3.3.
Добавлено в версии 3.3.
Индикатор собственного порядка байтов. Это будет иметь значение ‘big’ на платформах big-endian (старший байт первый), а ‘little’ на платформах little-endian (первый байт с наименьшей значимостью).
Кортеж строки, дающий названия всех модулей, скомпилированных в этот Python интерпретатор. (Эта информация недоступна другим способом — modules.keys() перечисляет только импортированные модули.
sys. call_tracing ( func, args ) ¶
Строка, содержащий авторские права, относящиеся к Python интерпретатору.
Очистить кэш внутреннего типа. Для ускорения поиска кэш и методов используемый тип атрибут. Использовать только функцию, чтобы удалить ненужные ссылки во время отладки утечки ссылок.
Эта функция должна быть используемый только для внутренних и специализированных целей.
Возвращает словарь, отображающий каждый идентификатор поток на самый верхний фрейм стека, активный в данный момент в этом поток во время вызова функции. Следует отметить, что функции в модуле traceback могут создавать стек вызовов с таким фрейм.
Это наиболее полезно для отладки взаимоблокировки: эта функция не требует взаимоблокировки потоков, и такие стеки вызовов потоки замораживаются до тех пор, пока они остаются взаимоблокированными. фрейм, возвращенный для поток без взаимоблокировки, может не иметь отношения к текущей активности поток к моменту, когда вызывающий код проверяет фрейм.
Эта функция должна быть используемый только для внутренних и специализированных целей.
Raises an auditing event sys._current_frames with no arguments.
Обратите внимание, что если при импорте вызываемого объекта с именем PYTHONBREAKPOINT происходит что-то не так, сообщается о RuntimeWarning и точка останова игнорируется.
Также следует отметить, что если sys.breakpointhook() переопределяется программным путем, PYTHONBREAKPOINT не консультируется.
Добавлено в версии 3.7.
Распечатайте низкоуровневое stderr информацию о состояние устройства распределения памяти CPython.
Если Python настроен –with-pydebug, он также выполняет некоторые дорогостоящие внутренние проверки непротиворечивости.
Добавлено в версии 3.3.
Детали реализации CPython: Эта функция специфична для CPython. Точный формат вывода здесь не определен и может измениться.
Целое число, указывающее дескриптор библиотеки DLL Python.
sys. displayhook ( value ) ¶
Относительный путь интерпретируется относительно текущего рабочего каталога.
Добавлено в версии 3.8.
При возникновении и отсутствии исключения интерпретатор вызывает sys.excepthook с тремя аргументами: класс исключения, сущность исключения и объект трейсбэк. В интерактивном сеансе это происходит непосредственно перед возвращенный элемента управления в подсказку; в Python программе это происходит непосредственно перед выходом из программы. Обработка таких исключений верхнего уровня может быть настроена путем назначения sys.excepthook другой функции с тремя аргументами.
Добавлено в версии 3.7: __breakpointhook__
Добавлено в версии 3.8: __unraisablehook__
Эта функция возвращает кортеж из трех значения, которые предоставляют информацию об особой ситуации, которая в настоящее время обрабатывается. Информационный возвращенный относится как к текущему поток, так и к текущему стеку фрейм. Если текущий фрейм стека не обрабатывает исключение, информация берется от вызывающего фрейм стека или его вызывающего абонента и т.д. до тех пор, пока не будет найден фрейм стека, который обрабатывает исключение. Здесь «обработка исключения» определяется как «выполнение исключения» клаузула. Для любого фрейм стека доступна только информация о обрабатываемом исключении.
Выход из Python. Это реализуется путём поднятия SystemExit исключения, поэтому выполняются действия очистки, определенные заключительными предложениями try инструкции, и возможно перехватить попытку выхода на внешнем уровне.
Поскольку exit() в конечном итоге «только» вызывает исключение, он будет выходить из процесса только при вызове из основного поток, и исключение не перехватывается.
Изменено в версии 3.6: Если ошибка происходит в очистке после того, как Python интерпретатор поймал SystemExit (такой как ошибка при смывании буферизованных данных в стандартных потоках), статус выхода изменен на 120.
В именованный кортеж flags отображается состояние флагов командной строки. Эти атрибуты доступны только для чтения.
Добавлено в версии 3.2.3: hash_randomization атрибут.
Изменено в версии 3.3: Удалены устаревшие division_warning атрибут.
В именованный кортеж содержится информация о типе float. Содержит сведения низкого уровня о точности и внутреннем представлении. Эти значения соответствуют различным константам с плавающей запятой, определенным в стандартном файле заголовка, float.h для языка программирования «C»; подробнее см. раздел 5.2.4.2.2 стандарта ISO/IEC C 1999 года [C99] «Характеристики плавающих типов».
атрибут | float.h макрос | объяснение |
---|---|---|
epsilon | DBL_EPSILON | разница между 1.0 и наименьшим значением больше 1.0, который представляется в виде числа с float |
dig | DBL_DIG | максимальное количество десятичных цифр, которые могут быть точно представлены в float; см. ниже |
mant_dig | DBL_MANT_DIG | точность float: число базовых цифр radix в значении и значении с плавающей точкой |
max | DBL_MAX | максимальная представляемая положительная конечная float |
max_exp | DBL_MAX_EXP | максимальное целое число e так что radix**(e-1) является представимым конечным float |
max_10_exp | DBL_MAX_10_EXP | максимальное целое число e так что 10**e находится в диапазоне представимых конечных плавающих чисел |
min | DBL_MIN | минимальный представляемый положительный normalized float |
min_exp | DBL_MIN_EXP | минимальное целое число e, так что radix**(e-1) является нормированным float |
min_10_exp | DBL_MIN_10_EXP | минимальное целое число e, так что 10**e является нормированным float |
radix | FLT_RADIX | радиус представления экспоненты |
rounds | FLT_ROUNDS | целочисленная константа, представляющая режим округления, используемый для арифметических операций. Это отражает значение системы FLT_ROUNDS макроса во время запуска интерпретатора. См. раздел 5.2.4.2.2 стандарта C99 для объяснения возможных значений и их смыслов. |
Атрибут sys.float_info.dig нуждается в дальнейшем объяснении. Если s некоторая строка, представляющий десятичное число с не более чем sys.float_info.dig значащими цифрами, то преобразование s в float и обратно восстановит строка, представляющий тот же самый десятичный значение:
Но для строки с более чем sys.float_info.dig значимыми цифрами это не всегда верно:
Добавлено в версии 3.1.
Если построение или реализация Python не могут разумно вычислить эту информацию, getallocatedblocks() разрешается вместо этого возвращает 0.
Добавлено в версии 3.4.
Возвращает время сборки API версии Android как целое число.
Добавлено в версии 3.7.
Возвращает название текущего строка кодировка используемый по умолчанию внедрением Юникод.
Возвращает имя кодировка используемый для преобразования между именами файлов в юникоде и именами файлов в байтах. Для лучшей совместимости str следует используемый для имен файлов во всех случаях, хотя также поддерживается представление имен файлов в виде байтов. Функции, принимающие или возвращающие имена файлов, должны поддерживать str или bytes и внутренне преобразовывать в предпочтительное представление системы.
Эта кодировка всегда совместима с ASCII.
os.fsencode() и os.fsdecode() должны быть используемый для обеспечения используемый правильного режима кодировка и ошибок.
Изменено в версии 3.7: Возвращает «utf-8» в режиме UTF-8.
os.fsencode() и os.fsdecode() должны быть используемый для обеспечения используемый правильного режима кодировка и ошибок.
Добавлено в версии 3.6.
Возвращает размер объекта в байтах. Объект может быть любым типом объекта. Все встроенные объекты будут возвращает правильные результаты, но это не обязательно должно быть верным для сторонних расширений, поскольку это специфично для реализации.
Учитывается только потребление памяти, непосредственно приписанное объекту, а не потребление памяти объектов, на которые он ссылается.
getsizeof() вызывает метод __sizeof__ объекта и добавляет дополнительные служебные данные сборщика мусора, если объект управляется сборщиком мусора.
Добавлено в версии 3.2.
Возвращает объект фрейма из стека вызовов. Если задано необязательное целочисленное depth, возвращает объект фрейм, который многие вызывают под верхом стека. Если это глубже стека вызовов, ValueError поднимается. Значение по умолчанию для depth равно нулю, возвращая фрейм в верхней части стека вызовов.
Raises an auditing event sys._getframe with no arguments.
Детали реализации CPython: Эта функция должна быть используемый только для внутренних и специализированных целей. Он не гарантированно существует во всех реализациях Python.
Детали реализации CPython: Функция gettrace() предназначена только для реализации отладчиков, профилировщиков, инструментов покрытия и т.п. Его поведение является частью платформы реализации, а не частью определения языка, и, таким образом, может быть доступно не во всех реализациях Python.
product_type может быть одним из следующих значений:
Константа | Значение |
---|---|
1 (VER_NT_WORKSTATION) | Система является рабочей станцией. |
2 (VER_NT_DOMAIN_CONTROLLER) | Система является контроллером домена. |
3 (VER_NT_SERVER) | Система является сервером, а не контроллером домена. |
platform_version возвращает точную основную версию, младшую версию и номер сборки текущей операционной системы, а не версию, эмулируемую для процесса. Он предназначен для использования в логирование, а не для обнаружения признаков.
Изменено в версии 3.2: Изменен на именованный кортеж и добавлены service_pack_minor, service_pack_major, suite_mask и product_type.
Изменено в версии 3.6: Добавленный platform_version
Добавлено в версии 3.6: Дополнительные сведения см. в разделе PEP 525.
Эта функция была добавлена на временной основе (подробнее см. PEP 411)
Добавлено в версии 3.7.
Эта функция была добавлена на временной основе (подробнее см. PEP 411). Использовать его только для отладки.
атрибут | объяснение |
---|---|
width | ширина в битах, используемый для хеш- значений |
modulus | простой модуль P, используемый для числовой хэш-схемы |
inf | значение хеша возвращается для положительной бесконечности |
nan | хэш-значение возвращаемое для nan |
imag | множитель используемый для мнимой части комплексного числа |
algorithm | имя алгоритма хеширования str, байта и memoryview |
hash_bits | внутренний выходной размер хэш-алгоритма |
seed_bits | размер начального ключа алгоритма хеширования |
Добавлено в версии 3.2.
Изменено в версии 3.4: Добавлены algorithm, hash_bits и seed_bits
Номер версии кодированный как одно целое число. Это гарантированно увеличивается с каждой версией, включая надлежащую поддержку непроизводственных выпусков. Например, чтобы проверить, что Python интерпретатор не менее версии 1.5.2, используйте:
Объект, содержащий сведения о реализации текущего Python интерпретатор. Следующие атрибуты должны существовать во всех реализациях Python.
sys.implementation может содержать дополнительные атрибуты, специфичные для реализации Python. Эти нестандартные атрибуты должны начинаться с подчеркивания и не описаны здесь. Независимо от его содержания, sys.implementation не будет изменяться ни во время выполнения интерпретатор, ни между версиями внедрения. (Однако он может изменяться между версиями на Python языках.) дополнительные сведения см. в разделе PEP 421.
Добавлено в версии 3.3.
Добавление новых требуемых атрибуты должно проходить через обычный процесс PEP. Дополнительные сведения см. в разделе PEP 421.
Атрибут | Объяснение |
---|---|
bits_per_digit | количество битов, содержащихся в каждой цифре. В Python целые числа хранятся внутри по основанию 2**int_info.bits_per_digit |
sizeof_digit | размер в байтах типа C, используемый для представления цифры |
Добавлено в версии 3.1.
Вызывает событие аудита cpython.run_interactivehook с объектом хук в качестве аргумента при вызове хук при запуске.
Добавлено в версии 3.4.
Интернированные строки не бессмертны; вы должны держать ссылку на возвращает значение intern() вокруг, чтобы извлечь выгоду из него.
Добавлено в версии 3.5.
Эти три переменные не всегда определяются; они устанавливаются, когда исключение не обрабатывается и интерпретатор печатает сообщение об ошибке и трейсбэк стека. Их назначение состоит в том, чтобы позволить интерактивному пользователю импортировать модуль отладчика и участвовать в посмертной отладке без необходимости повторного выполнения команды, вызвавшей ошибку. (Типичное использование import pdb; pdb.pm() для входа в посмертный отладчик; для получения дополнительной информации см. pdb модуль.)
Значение переменных совпадает с значением возвращает значения из exc_info() выше.
Целое число, дающее значение наибольшей точки код юникода, т.е. 1114111 ( 0x10FFFF в шестнадцатеричном формате).
Этот словарь сопоставляет имена модулей с уже загруженными модулями. Этим можно манипулировать, чтобы принудительно перезарядить модули и другие приемы. Однако замена словаря не обязательно будет работать так, как ожидалось, и удаление основных элементов из словаря может привести к сбою Python.
Программа может изменять этот список для своих целей. К строки следует добавлять только sys.path и байты; все остальные типы данных игнорируются во время импорта.
Для других систем значения являются:
Система | platform значение |
---|---|
AIX | ‘aix’ |
Linux | ‘linux’ |
Windows | ‘win32’ |
Windows/Cygwin | ‘cygwin’ |
macOS | ‘darwin’ |
os.name имеет более грубую гранулярность. os.uname() предоставляет зависящую от системы информацию о версии.
Модуль platform обеспечивает детальную проверку идентификационных данных системы.
sys. setcheckinterval ( interval ) ¶
sys. setprofile ( profilefunc ) ¶
Raises an auditing event sys.setprofile with no arguments.
События имеют следующее значение:
Установить максимальную глубину стека Python интерпретатор limit. Этот предел не позволяет бесконечной рекурсии вызвать переполнение стека C и сбой Python.
Максимально возможный предел зависит от платформы. Пользователю может потребоваться установить более высокий предел, если у него есть программа, требующая глубокой рекурсии, и платформа, поддерживающая более высокий предел. Это следует делать с осторожностью, потому что слишком высокий предел может привести к краху.
Если новый предел слишком низок при текущей глубине рекурсии, создается RecursionError исключение.
Установить поток интервал переключения интерпретатор (в секундах). Этот значение с плавающей запятой определяет идеальную продолжительность «временных интервалов», выделенных для параллельного выполнения Python потоки. Обратите внимание, что фактические значение могут быть выше, особенно если используемый длительные внутренние функции или методы. Кроме того, какой поток становится запланированным в конце интервала, является решением операционной системы. У интерпретатор нет собственного планировщика.
Добавлено в версии 3.2.
Функция трассировки локальная должна возвращает ссылку на себя (или на другую функцию для дальнейшей трассировки в том область видимости) или None отключить трассировку в этом область видимости.
События имеют следующее значение:
Raises an auditing event sys.settrace with no arguments.
Детали реализации CPython: Функция settrace() предназначена только для реализации отладчиков, профилировщиков, инструментов покрытия и т.п. Его поведение является частью платформы реализации, а не частью определения языка, и, таким образом, может быть доступно не во всех реализациях Python.
Изменено в версии 3.7: ‘opcode’ добавлен тип события; f_trace_lines и f_trace_opcodes атрибуты добавлены к кадрам
Принимает два необязательных аргумента ключевой, которые являются вызываемыми и принимают итератор асинхронного генератора в качестве аргумента. Вызываемый firstiter вызывается при первой итерации асинхронного генератор. Этот finalizer будет вызван, когда будет собираться мусор асинхронного генератор.
Raises an auditing event sys.set_asyncgen_hooks_firstiter with no arguments.
Raises an auditing event sys.set_asyncgen_hooks_finalizer with no arguments.
Два события аудита возникают, поскольку базовый API состоит из двух вызовов, каждый из которых должен вызывать собственное событие.
Добавлено в версии 3.6: Дополнительные сведения см. в разделе PEP 525, а ссылочный пример метода finalizer см. в разделе реализация asyncio.Loop.shutdown_asyncgens в разделе Lib/asyncio/base_events.py
Эта функция была добавлена на временной основе (подробнее см. PEP 411)
Позволяет включить или отключить отслеживание происхождения корутина. Если этот параметр включен, cr_origin атрибут объектов coroutine будет содержать кортеж кортежей (имя файла, номер строки, имя функции), описывающий трейсбэк, в котором был создан объект coroutine, с последним вызовом. При отключении cr_origin будет None.
Для включения передайте depth значение больше нуля; это задает количество кадров, информация о которых будет записываться. Чтобы отключить, передайте depth set равным нулю.
Этот параметр потокоспецифичный.
Добавлено в версии 3.7.
Эта функция была добавлена на временной основе (подробнее см. PEP 411). Использовать его только для отладки.
Изменяет кодировку файловой системы по умолчанию и режим ошибок на «mbcs» и «replace» соответственно для обеспечения согласованности с версиями Python до версии 3.6.
Это эквивалентно определению переменной среды PYTHONLEGACYWINDOWSFSENCODING перед запуском Python.
Добавлено в версии 3.6: Дополнительные сведения см. в разделе PEP 529.
символ кодировки зависит от платформы. В платформах, отличных от Windows, используется кодировка локали (см. locale.getpreferredencoding() ).
В Windows для консольного устройства UTF-8 используемый. Устройства Non-символ, такие как дисковые файлы и пайпы используют системный locale кодировка (т.е. ANSI кодовая страница). Не консольные устройства символ, такие как NUL (т.е. где isatty() возвращает True ), используют значение кодовых страниц ввода и вывода консоли при запуске соответственно для stdin и stdout/stderr. По умолчанию используется системная locale кодировка, если процесс изначально не подключен к консоли.
Особое поведение консоли можно переопределить путем установки переменной среды PYTHONLEGACYWINDOWSSTDIO перед запуском Python. В этом случае кодовые страницы консоли используемый, как и для любого другого символ устройства.
Также можно используемый восстановить фактические файлы в известные рабочие файловые объекты, если они были перезаписаны поврежденным объектом. Однако предпочтительным способом является явное сохранение предыдущего потока перед его заменой и восстановление сохраненного объекта.
Именованный кортеж хранение информации о реализации потоков.
Атрибут | Объяснение |
---|---|
name |