MicroPython:Библиотеки/sys
Поддержать проект | Содержание | Введение | Основы | Примеры | Библиотеки | Программы | Платы | Прошивки | Резерв | Резерв |
Содержание
Модуль sys – системные функции[1]
В этом модуле реализована часть функционала соответствующего модуля CPython. Более подробно читайте в документации к CPython о модуле sys.
Функции
- sys.exit(retval=0, /) – прекращает работу текущей программы с заданным кодом выхода. Возбуждает исключение SystemExit. Если в sys.exit() задан аргумент, его значение будет присвоено аргументу SystemExit.
- sys.atexit(func) – задает функцию, которая будет вызвана при прекращении работы программы. Эта функция (func) должна быть вызываемым объектом без аргументов или с аргументом None (чтобы отключить вызов этих «выходных» функций). Возвращает предыдущее значение, заданное этой функцией (по умолчанию это None).
В CPython этой функции нет, она сделана специально для MicroPython, но примерно повторяет функционал модуля atexit в CPython.
- sys.print_exception(exc, file=sys.stdout, /) – печатает исключение с трассировкой к файлообразному объекту file или sys.stdout (по умолчанию).
Это упрощенная версия одноименной функции из модуля traceback в CPython. Но MicroPython’овская версия принимает в качестве аргумента только значение исключения, тогда как CPython’овская версия print_exception() вдобавок к значению исключения принимает тип исключения и объект трассировки. Аргумент file должен быть позиционным; другие аргументы не поддерживаются. CPython-совместимый модуль traceback есть в библиотеке «micropython-lib».
Константы
- sys.argv – изменяемый список аргументов, с которыми была запущена текущая программа.
- sys.byteorder – порядок байтов системы. Доступны варианты «little» (от младшего бита к старшему) и «big» (от старшего к младшему).
- sys.implementation – объект с информацией о текущей реализации Python. В MicroPython у него следующие атрибуты:
- name – строка «micropython».
- version – кортеж (старшая_цифра, средняя_цифра, младшая цифра), например, (1, 7, 0).
Рекомендуем использовать этот объект, чтобы различать MicroPython от других реализаций Python (но на совсем маленьких портах его может не быть). В CPython для этого объекта требуется больше атрибутов, тогда как в MicroPython реализован их полезный минимум.
- sys.maxsize – максимальное значение, которое может содержать нативный целочисленный тип данных на используемой платформе, или максимальное значение для целочисленного типа данных MicroPython, если оно меньше максимального значения платформы (в случае, если MicroPython-платформа не поддерживает длинные целые числа).
Этот атрибут полезен для определения «битности» платформы (32 бита vs 64 бита и т.д.). Рекомендуем не сравнивать этот атрибут напрямую с каким-либо значением, а просто считать количество бит в нем:
bits = 0
v = sys.maxsize
while v:
bits += 1
v >>= 1
if bits > 32:
# 64-битная (или больше) платформа
...
else:
# 32-битная (или меньше) платформа
# Помните, что на 32-битных платформах
# количество бит может быть меньше 32 (например, 31)
# из-за особенностей, описанных выше,
# поэтому используйте сравнения вроде
# «> 16», «> 32», «> 64».
- sys.modules – словарь с загруженными модулями. На некоторых портах в нем может не быть встроенных модулей.
- sys.path – изменяемый список директорий для поиска импортированных модулей.
- sys.platform – платформа, на которой запущен MicroPython. Для ОС/RTOS-портов – это, как правило, идентификатор ОС (например, «linux»). Для «голых» портов это идентификатор платы (например, «pyboard» для эталонной платы MicroPython). Соответственно, эту константу можно использовать, чтобы отличать одну плату от другой. Если вам нужно проверить то, запускается ли ваша программа на MicroPython (или на другой реализации Python), вместо этой константы используйте sys.implementation (см. выше).
- sys.stderr – потоковый объект для стандартных ошибок.
- sys.stdin – потоковый объект для стандартного ввода данных.
- sys.stdout – потоковый объект для стандартного вывода данных.
- sys.version – версия языка Python, которой соответствует эта реализация (в виде строки).
- sys.version_info – версия языка Python, которой соответствует эта реализация (в виде кортежа с целыми числами).
Поддерживаются только три первых цифры версии, и обращаться к ним можно только по индексу, но не по названию.
<syntaxhighlight lang="python" enclose="div">
См.также
Ссылки на полезные ресурсы
- AliExpress — глобальная виртуальная (в Интернете) торговая площадка, предоставляющая возможность покупать товары производителей из КНР;
- computeruniverse.net - Интернет-магазин компьютеров(Промо код 5 Евро на первую покупку:FWWC3ZKQ);
- DigitalOcean - американский провайдер облачных инфраструктур, с главным офисом в Нью-Йорке и с центрами обработки данных по всему миру;
- Викиум - Онлайн-тренажер для мозга
- Like Центр - Центр поддержки и развития предпринимательства.
- Gamersbay - лучший магазин по бустингу для World of Warcraft.
- Ноотропы OmniMind N°1 - Усиливает мозговую активность. Повышает мотивацию. Улучшает память.
- Санкт-Петербургская школа телевидения - это федеральная сеть образовательных центров, которая имеет филиалы в 37 городах России.
- Lingualeo.com — интерактивный онлайн-сервис для изучения и практики английского языка в увлекательной игровой форме.
- Junyschool (Джунискул) – международная школа программирования и дизайна для детей и подростков от 5 до 17 лет, где ученики осваивают компьютерную грамотность, развивают алгоритмическое и креативное мышление, изучают основы программирования и компьютерной графики, создают собственные проекты: игры, сайты, программы, приложения, анимации, 3D-модели, монтируют видео.
- Умназия - Интерактивные онлайн-курсы и тренажеры для развития мышления детей 6-13 лет
- SkillBox - это один из лидеров российского рынка онлайн-образования. Среди партнеров Skillbox ведущий разработчик сервисного дизайна AIC, медиа-компания Yoola, первое и самое крупное русскоязычное аналитическое агентство Tagline, онлайн-школа дизайна и иллюстрации Bang! Bang! Education, оператор PR-рынка PACO, студия рисования Draw&Go, агентство performance-маркетинга Ingate, scrum-студия Sibirix, имидж-лаборатория Персона.
- «Нетология» — это университет по подготовке и дополнительному обучению специалистов в области интернет-маркетинга, управления проектами и продуктами, дизайна, Data Science и разработки. В рамках Нетологии студенты получают ценные теоретические знания от лучших экспертов Рунета, выполняют практические задания на отработку полученных навыков, общаются с экспертами и единомышленниками. Познакомиться со всеми продуктами подробнее можно на сайте https://netology.ru, линейка курсов и профессий постоянно обновляется.
- StudyBay Brazil – это онлайн биржа для португалоговорящих студентов и авторов! Студент получает уникальную работу любого уровня сложности и больше свободного времени, в то время как у автора появляется дополнительный заработок и бесценный опыт.
- Автор24 — самая большая в России площадка по написанию учебных работ: контрольные и курсовые работы, дипломы, рефераты, решение задач, отчеты по практике, а так же любой другой вид работы. Сервис сотрудничает с более 70 000 авторов. Более 1 000 000 работ уже выполнено.
- StudyBay – это онлайн биржа для англоязычных студентов и авторов! Студент получает уникальную работу любого уровня сложности и больше свободного времени, в то время как у автора появляется дополнительный заработок и бесценный опыт.
Внешние ссылки