Spec-Zone.ru › Python 3.13

платформа — доступ к идентификационным данным платформы

Исходный код: 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.

END_OF_DOCUMENT_MARKER

Платформа 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API