что такое sys в питоне

Модуль sys в Python

Модуль sys в Python предоставляет простые функции, которые позволяют нам напрямую взаимодействовать с интерпретатором.

Функции, предоставляемые модулем sys, позволяют нам работать с базовым интерпретатором, независимо от того, является ли он платформой Windows, Macintosh или Linux. В этом уроке мы рассмотрим эти функции и то, что с ними можно сделать.

import sys

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

sys.modules

Эта функция дает имена существующих модулей Python, импортированных текущей оболочкой. Выполним это в системе:

Я удалил много модулей, так как изначально Python по умолчанию импортирует много модулей. Таким образом, вывод может отличаться, когда вы выполните эту команду в настройках.

sys.argv

Эта функция собирает аргументы String, передаваемые скрипту python. Давайте выполним это в системе, написав скрипт:

что такое sys в питоне. Смотреть фото что такое sys в питоне. Смотреть картинку что такое sys в питоне. Картинка про что такое sys в питоне. Фото что такое sys в питоне

sys.path

Эта функция просто отображает PYTHONPATH, установленный в текущей системе. Давайте выполним это в системе, написав скрипт:

что такое sys в питоне. Смотреть фото что такое sys в питоне. Смотреть картинку что такое sys в питоне. Картинка про что такое sys в питоне. Фото что такое sys в питоне

sys.stdin

Эта функция используется для взятия. Давайте выполним это в системе, написав скрипт:

что такое sys в питоне. Смотреть фото что такое sys в питоне. Смотреть картинку что такое sys в питоне. Картинка про что такое sys в питоне. Фото что такое sys в питоне

Вероятно, это наиболее часто используемая функция в модуле sys, так как это стандартный способ получения ввода от пользователя.

sys.copyright

Эта строка просто отображает информацию об авторских правах на текущую установленную версию Python. Давайте выполним это в системе, написав скрипт:

что такое sys в питоне. Смотреть фото что такое sys в питоне. Смотреть картинку что такое sys в питоне. Картинка про что такое sys в питоне. Фото что такое sys в питоне

sys.exit

Этот метод заставляет интерпретатор внезапно завершать текущий поток выполнения. Давайте выполним это в системе, написав скрипт:

что такое sys в питоне. Смотреть фото что такое sys в питоне. Смотреть картинку что такое sys в питоне. Картинка про что такое sys в питоне. Фото что такое sys в питоне

sys.getrefcount

Этот метод модуля sys возвращает количество ссылок на объект, в котором он используется. Python отслеживает это значение, поскольку, когда это значение достигает 0 в программе, память для этой переменной очищается. Давайте выполним это в системе, написав скрипт:

Источник

Системный модуль Python

Модуль python sys предоставляет функции и переменные, которые используются для управления различными частями среды выполнения Python. Это позволяет получить доступ к системным параметрам и функциям.

import sys

Первое условие – мы должны импортировать модуль sys в нашу программу перед запуском каких-либо функций.

sys.modules

Эта функция предоставляет имя существующих модулей Python, которые были импортированы.

sys.argv

Возвращает список аргументов командной строки, переданных скрипту Python. Именем сценария всегда является элемент с индексом 0, а остальные аргументы сохраняются в последующих индексах.

sys.base_exec_prefix

Эта функция обеспечивает эффективный способ получения того же значения, что и exec_prefix. Если виртуальная среда не запущена, значение останется прежним.

sys.base_prefix

Устанавливается во время запуска Python перед запуском site.py с тем же значением, что и prefix.

sys.byteorder

Индикация собственного byteorder, обеспечивающая эффективный способ что-то делать.

sys.maxsize

Эта функция возвращает наибольшее целое число переменной.

sys.path

Показывает PYTHONPATH, установленный в текущей системе. Это переменная среды, которая является путем поиска для всех модулей Python.

sys.stdin

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

sys.getrefcount

Эта функция возвращает счетчик ссылок объекта.

sys.exit

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

sys executable

Значение этой функции – абсолютный путь к интерпретатору Python. Нужна для того, чтобы узнать, где установлен python на другом компьютере.

sys.platform

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

Источник

Параметры и функции конфигурации Python.

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

События аудита CPython.

Функция sys.audit() вызывает событие аудита с любыми активными хуками. Функция sys.addaudithook() добавляет вызываемый хук/перехват в список активных хуков аудита для текущего интерпретатора.

Функция argv модуля sys в Python.
Имя используемой OS в Python.

`sys.platform` возвращает строку, которая содержит идентификатор платформы. Функция `sys.getwindowsversion()` возвращает именованный кортеж, описывающий версию Windows.

Различные сведения о версии Python.

Авторские права, относящиеся к интерпретатору Python. Номер версии интерпретатора Python. Версия API языка `C` для интерпретатора Python. Информация о реализации текущего работающего интерпретатора Python

Каталоги и пути интерпретатора Python.
Кодировка, используемая Python.

Функция `sys.getdefaultencoding()` возвращает имя текущей кодировки по умолчанию. Функция `sys.getfilesystemencoding()` возвращает имя кодировки преобразования между именами файлов. Функция `sys.getfilesystemencodeerrors()` режим ошибки преобразования между именами файлов

Настройка рекурсии в Python.

Функция `sys.getrecursionlimit()` возвращает текущее значение предела рекурсии. Функция `sys.setrecursionlimit()` устанавливает максимальную глубину стека интерпретатора Python для ограничения.

Функции трассировки и профилирования кода модуля sys в Python.

Управление трассировкой из кода Python и извлечение отладочной информации, профилирование кода.

Функция breakpointhook() модуля sys в Python.

По умолчанию sys.breakpointhook() подключает отладчик pdb, но его можно настроить на любую другую функцию, чтобы можно было выбрать, какой отладчик использовать.

Объекты stdin, stdout, stderr модуля sys в Python.
Функции excepthook() и exc_info() модуля sys в Python.

Когда возникает исключение и не обрабатывается, интерпретатор вызывает sys.excepthook с тремя аргументами, классом исключения, экземпляром исключения и объектом трассировки. Возвращаемое значение sys.exc_info() представляет собой кортеж из трех членов, содержащий класс исключения, экземпляр иск

Функция getrefcount() модуля sys в Python.

Функция `getrefcount()` модуля `sys` возвращает счетчик ссылок объекта.

Атрибуты path и path_hooks модуля sys в Python.

Атрибут sys.path содержит список строк, который указывает путь поиска для модулей. Атрибут sys.path_hooks содержит список вызываемых объектов, которые принимают аргумент пути, чтобы попытаться создать искатель для пути.

Список загруженных и скомпилированных модулей в Python.

Атрибут sys.modules представляет собой словарь, который отображает имена модулей на модули, которые уже были загружены.

Атрибут float_info модуля sys в Python.

Атрибут `float_info` модуля `sys` представляет собой именованный кортеж, содержащий информацию о типе `float`.

Атрибут int_info модуля sys в Python.

Атрибут `int_info` модуля `sys` представляет собой именованный кортеж, который содержит информацию о внутреннем представлении Python целых чисел.

Атрибут maxsize модуля sys в Python.

Атрибут maxsize модуля sys представляет собой целое число, дающее максимальное значение, которое может принимать переменная типа `Py_ssize_t`. Обычно это `32 ** 31-1` на 32-битной платформе и `2 ** 63-1` на 64-битной платформе.

Атрибут byteorder модуля sys в Python.

Атрибут `byteorder` модуля `sys` представляет собой индикатор собственного порядка байтов.

Функция exit() модуля sys в Python.
Функция getsizeof() модуля sys в Python.

Функция `getsizeof()` модуля `sys` возвращает размер объекта `object` в байтах. Объект может быть любым типом объекта. Учитывается только потребление памяти, непосредственно приписываемое объекту, а не потребление памяти объектами, к которым он относится.

Атрибут dont_write_bytecode модуля sys в Python.

Если атрибут `dont_write_bytecode` модуля `sys` равен `True`, то Python не будет пытаться записывать файлы `.pyc` при импорте исходных модулей. Этот атрибут можно установить самостоятельно их кода Python для управления генерацией файла байт-кода.

Функция warnoptions() модуля sys в Python.

Функция `warnoptions()` модуля `sys` возвращает список аргументов параметра командной строки `-W`, полученного интерпретатором.

Источник

Разбираем модуль sys

что такое sys в питоне. Смотреть фото что такое sys в питоне. Смотреть картинку что такое sys в питоне. Картинка про что такое sys в питоне. Фото что такое sys в питоне

что такое sys в питоне. Смотреть фото что такое sys в питоне. Смотреть картинку что такое sys в питоне. Картинка про что такое sys в питоне. Фото что такое sys в питоне

Модуль sys предоставляет системе особые параметры и функции. В данном разделе мы рассмотрим следующее:

sys.argv

Значение sys.argv – это список аргументов командной строки, которые причастны к скрипту Python. Первый аргумент, argv[0], имеет аналогичное скрипту Python наименование. В зависимости от платформы, на которой вы работаете, первый аргумент может содержать полный путь к скрипту или к названию файла. Для дополнительных деталей обратитесь к документации. А тем временем, попробуем поработать с парочкой примеров, чтобы познакомиться с этим инструментом:

Если вы запустите это в интерпретаторе, вы получите список с пустой строкой. Давайте создадим файл под названием sysargv.py, со следующим содержимым:

Теперь запустите код в IDLE. Вы увидите список с одним элементом, который содержит путь к вашему скрипту. Попробуем передать скрипту несколько аргументов. Откройте окно терминала \ консоли и при помощи команды cd измените каталоги на тот, в котором находится скрипт. После этого, запустите что-то наподобие этого:

что такое sys в питоне. Смотреть фото что такое sys в питоне. Смотреть картинку что такое sys в питоне. Картинка про что такое sys в питоне. Фото что такое sys в питоне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 в питоне. Смотреть фото что такое sys в питоне. Смотреть картинку что такое sys в питоне. Картинка про что такое sys в питоне. Фото что такое sys в питонеsys.exit

Как вы могли заметить, написанный нами скрипт exit вернул ноль, так что он успешно заработал. Получается, мы заодно научились вызывать разные скрипты Python изнутри самого Python!

Есть вопросы по Python?

На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!

Telegram Чат & Канал

Вступите в наш дружный чат по Python и начните общение с единомышленниками! Станьте частью большого сообщества!

Паблик VK

Одно из самых больших сообществ по Python в социальной сети ВК. Видео уроки и книги для вас!

sys.path

Значение функции path модуля sys – это список строк, которые указывают путь поиска для модулей. Как правило, данная функция указывает Python, в каких локациях смотреть, когда он пытается импортировать модуль. В соответствии с документацией Python, sys.path инициализируется из переменной окружения PYTHONPATH, плюс зависимое от установки значение, указанное по умолчанию. Давайте взглянем на пример:

Данная функция может быть весьма полезной во время отладки причины, по которой модуль не импортируется. Вы также можете изменить путь. Так как данная функция является путем, мы можем добавлять или удалять путь из неё. Давайте взглянем на то, как добавлять путь:

Удаление пути я оставлю как задание для читателя что такое sys в питоне. Смотреть фото что такое sys в питоне. Смотреть картинку что такое sys в питоне. Картинка про что такое sys в питоне. Фото что такое sys в питоне

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, как получить информацию о платформе, работать с аргументами, переданными командной строке, и многому другому.

что такое sys в питоне. Смотреть фото что такое sys в питоне. Смотреть картинку что такое sys в питоне. Картинка про что такое sys в питоне. Фото что такое sys в питоне

Являюсь администратором нескольких порталов по обучению языков программирования Python, Golang и Kotlin. В составе небольшой команды единомышленников, мы занимаемся популяризацией языков программирования на русскоязычную аудиторию. Большая часть статей была адаптирована нами на русский язык и распространяется бесплатно.

E-mail: vasile.buldumac@ati.utm.md

Образование
Universitatea Tehnică a Moldovei (utm.md)

Источник

Модуль 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

Выводы:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *