платформа — доступ к идентификационным данным платформы
Исходный код: Lib/platform.py
Примечание
Конкретные платформы перечислены в алфавитном порядке, при этом Linux включён в раздел Unix.
Платформа
-
platform.architecture(executable=sys.executable, bits='', linkage='') -
Запрашивает указанную исполняемую программу (по умолчанию — двоичный файл интерпретатора Python) для получения информации о различных архитектурах.
Возвращает кортеж
(bits, linkage), содержащий информацию о разрядности архитектуры и формате связи, используемом для исполняемого файла. Оба значения возвращаются в виде строк.Значения, которые невозможно определить, возвращаются так, как задано в параметрах по умолчанию. Если для параметра bits задано
'', используетсяsizeof(pointer)(илиsizeof(long)в версиях Python < 1.5.2) в качестве индикатора поддерживаемого размера указателя.Функция использует системную команду
fileдля выполнения фактической работы. Она доступна на большинстве, если не на всех, платформах Unix и некоторых не-Unix платформах, а также только в том случае, если исполняемый файл указывает на интерпретатор Python. При отсутствии вышеперечисленного используются разумные значения по умолчанию.Примечание
На macOS (и, возможно, на других платформах) исполняемые файлы могут быть универсальными файлами, содержащими несколько архитектур.
Чтобы получить «64-битность» текущего интерпретатора, более надёжно запросить атрибут
sys.maxsize:is_64bits = sys.maxsize > 2**32
-
platform.machine() -
Возвращает тип машины, например
'AMD64'. Если значение определить невозможно, возвращается пустая строка.
-
platform.node() -
Возвращает имя сетевого узла компьютера (возможно, не полностью квалифицированное!). Если значение определить невозможно, возвращается пустая строка.
-
platform.platform(aliased=False, terse=False) -
Возвращает одну строку, идентифицирующую базовую платформу с максимальным количеством полезной информации.
Выходной результат предназначен для человеческого чтения, а не для машинного анализа. Он может отличаться на разных платформах, и это предусмотрено.
Если aliased равно true, функция будет использовать псевдонимы для различных платформ, которые сообщают имена системы, отличные от их общих имён, например, SunOS будет отображаться как Solaris. Для реализации этого используется функция
system_alias().Установка terse в значение true приводит к возврату только минимально необходимой информации для идентификации платформы.
Изменено в версии 3.8: На macOS функция теперь использует
mac_ver(), если она возвращает непустую строку релиза, для получения версии macOS вместо версии darwin.
-
platform.processor() -
Возвращает имя процессора (реальное), например
'amdk6'. Если значение определить невозможно, возвращается пустая строка. Обратите внимание, что многие платформы не предоставляют эту информацию или просто возвращают то же значение, что и дляmachine(). NetBSD делает это.
-
platform.python_build() -
Возвращает кортеж
(buildno, builddate), содержащий номер сборки Python и дату в виде строк.
-
platform.python_compiler() -
Возвращает строку, идентифицирующую компилятор, используемый для компиляции Python.
-
platform.python_branch() -
Возвращает строку, идентифицирующую ветвь SCM реализации Python.
-
platform.python_implementation() -
Возвращает строку, идентифицирующую реализацию Python. Возможные значения: ‘CPython’, ‘IronPython’, ‘Jython’, ‘PyPy’.
-
platform.python_revision() -
Возвращает строку, идентифицирующую ревизию SCM реализации Python.
-
platform.python_version() -
Возвращает версию Python в виде строки
'major.minor.patchlevel'.Обратите внимание, что в отличие от версии Python
sys.version, возвращаемое значение всегда включает номер патча (он по умолчанию равен 0).
-
platform.python_version_tuple() -
Возвращает версию Python в виде кортежа
(major, minor, patchlevel)строк.Обратите внимание, что в отличие от версии Python
sys.version, возвращаемое значение всегда включает номер патча (он по умолчанию'0').
-
platform.release() -
Возвращает выпуск системы, например
'2.2.0'или'NT'. Если значение определить невозможно, возвращается пустая строка.
-
platform.system() -
Возвращает имя системы/ОС, например
'Linux','Darwin','Java','Windows'. Если значение определить невозможно, возвращается пустая строка.В iOS и Android возвращается имя ОС, отображаемое пользователю (например,
'iOS,'iPadOS'или'Android'). Для получения имени ядра ('Darwin'или'Linux') используйтеos.uname().
-
platform.system_alias(system, release, version) -
Возвращает
(system, release, version), сопоставляя его с общими маркетинговыми названиями, используемыми для некоторых систем. Также переупорядочивает информацию в некоторых случаях, чтобы избежать путаницы.
-
platform.version() -
Возвращает версию выпуска системы, например
'#3 on degas'. Если значение определить невозможно, возвращается пустая строка.В iOS и Android возвращается версия ОС, отображаемая пользователю. Для получения версии ядра Darwin или Linux используйте
os.uname().
-
platform.uname() -
Достаточно портативный интерфейс uname. Возвращает
namedtuple(), содержащий шесть атрибутов:system,node,release,version,machineиprocessor.processorразрешается позднее, по запросу.Примечание: первые два имени атрибутов отличаются от имён, представленных
os.uname(), где они называютсяsysnameиnodename.Элементы, которые невозможно определить, устанавливаются в
''.Изменено в версии 3.3: Результат изменён с кортежа на
namedtuple().Изменено в версии 3.9:
processorразрешается позднее, а не сразу.
Платформа Java
-
platform.java_ver(release='', vendor='', vminfo=('', '', ''), osinfo=('', '', '')) -
Интерфейс версии для Jython.
Возвращает кортеж
(release, vendor, vminfo, osinfo), где vminfo — кортеж(vm_name, vm_release, vm_vendor), а osinfo — кортеж(os_name, os_version, os_arch). Значения, которые нельзя определить, устанавливаются в значения по умолчанию, заданные в качестве параметров (по умолчанию все они равны'').Устарело начиная с версии 3.13, будет удалено в версии 3.15: В значительной степени не тестировалось, имело запутанный API и было полезно только для поддержки Jython.
Платформа Windows
-
platform.win32_ver(release='', version='', csd='', ptype='') -
Получить дополнительную информацию о версии Windows из реестра и вернуть кортеж
(release, version, csd, ptype), относящийся к выпуску ОС, номеру версии, уровню CSD (пакет сервиса) и типу ОС (многопроцессорная/однопроцессорная). Значения, которые невозможно определить, устанавливаются по умолчанию, указанному в параметрах (по умолчанию все пустые строки).На заметку: ptype —
'Uniprocessor Free'на однопроцессорных машинах NT и'Multiprocessor Free'на многопроцессорных машинах.'Free'указывает, что версия ОС не содержит отладочного кода. Также может быть указано'Checked', что означает, что версия ОС использует отладочный код, т.е. код, проверяющий аргументы, диапазоны и т.д.
-
platform.win32_edition() -
Возвращает строку, представляющую текущую редакцию Windows, или
Noneесли значение определить невозможно. Возможные значения включают, но не ограничиваются:'Enterprise','IoTUAP','ServerStandard', и'nanoserver'.Добавлена в версии 3.8.
-
platform.win32_is_iot() -
Возвращает
Trueесли редакция Windows, возвращенная функциейwin32_edition(), распознается как редакция IoT.Добавлена в версии 3.8.
Платформа macOS
-
platform.mac_ver(release='', versioninfo=('', '', ''), machine='') -
Получить информацию о версии macOS и вернуть ее как кортеж
(release, versioninfo, machine), где versioninfo — кортеж(version, dev_stage, non_release_version).Значения, которые невозможно определить, устанавливаются по умолчанию —
''. Все элементы кортежа — строки.
Платформа iOS
-
platform.ios_ver(system='', release='', model='', is_simulator=False) -
Получить информацию о версии iOS и вернуть ее как
namedtuple()со следующими атрибутами:-
system— имя ОС; либо'iOS'либо'iPadOS'. -
release— номер версии iOS в виде строки (например,'17.2'). -
model— идентификатор модели устройства; это будет строка, например'iPhone13,2'для физического устройства, или'iPhone'для симулятора. -
is_simulator— логическое значение, описывающее, выполняется ли приложение на симуляторе или физическом устройстве.
Значения, которые невозможно определить, устанавливаются по умолчанию, указанному в параметрах.
-
Платформы Unix
-
platform.libc_ver(executable=sys.executable, lib='', version='', chunksize=16384) -
Попытка определить версию libc, к которой слинкован исполняемый файл (по умолчанию — интерпретатор Python). Возвращает кортеж строк
(lib, version). Значения по умолчанию в случае неудачи берутся из параметров.Обратите внимание, что эта функция детально знает, как различные версии libc добавляют символы в исполняемый файл, поэтому она, вероятно, применима только для исполняемых файлов, скомпилированных с помощью gcc.
Файл читается и сканируется кусками размером chunksize байт.
Платформы Linux
-
platform.freedesktop_os_release() -
Получить информацию об идентификации операционной системы из файла
os-releaseи вернуть ее как словарь. Файлos-release— стандарт freedesktop.org, и доступен в большинстве дистрибутивов Linux. Заметным исключением являются Android и дистрибутивы на базе Android.Возбуждает исключение
OSErrorили его подкласс, если не удается прочитать ни/etc/os-release, ни/usr/lib/os-release.В случае успеха функция возвращает словарь, где ключи и значения — строки. Значения со специальными символами, такими как
"и$, разыменовываются. ПоляNAME,ID, иPRETTY_NAMEвсегда определены в соответствии со стандартом. Все остальные поля являются необязательными. Производители могут включать дополнительные поля.Обратите внимание, что поля, такие как
NAME,VERSION, иVARIANT, являются строками, пригодными для отображения пользователю. Программы должны использовать поля, такие какID,ID_LIKE,VERSION_ID, илиVARIANT_ID, для идентификации дистрибутивов Linux.Пример:
def get_like_distro(): info = platform.freedesktop_os_release() ids = [info["ID"]] if "ID_LIKE" in info: # ids are space separated and ordered by precedence ids.extend(info["ID_LIKE"].split()) return idsДобавлена в версии 3.10.
Платформа Android
-
platform.android_ver(release='', api_level=0, manufacturer='', model='', device='', is_emulator=False) -
Получить информацию об устройстве Android. Возвращает
namedtuple()со следующими атрибутами. Значения, которые невозможно определить, устанавливаются по умолчанию, указанному в параметрах.-
release— версия Android в виде строки (например,"14"). -
api_level— уровень API работающего устройства, как целое число (например,34для Android 14). Чтобы получить уровень API, с которым был скомпилирован Python, см.sys.getandroidapilevel(). -
manufacturer— имя производителя. -
model— имя модели — обычно маркетинговое имя или номер модели. -
device— имя устройства — обычно номер модели или кодовое имя. -
is_emulator—Trueесли устройство — эмулятор;Falseесли это физическое устройство.
Google поддерживает список известных имен моделей и устройств.
Добавлена в версии 3.13.
-
© 2001–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.13/library/platform.html