Spec-Zone.ru › Python 3.10

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

Исходный код: 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=0, terse=0)

Возвращает строку, идентифицирующую базовую платформу с максимально возможной полезной информацией.

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

Если 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()

Возвращает строку, идентифицирующую номер ревизии реализации Python SCM.

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'. Если значение определить невозможно, возвращается пустая строка.

platform.system_alias(system, release, version)

Возвращает (system, release, version) с псевдонимами, используемыми для маркетинговых названий некоторых систем. Также в некоторых случаях производится переупорядочивание информации для избежания путаницы.

platform.version()

Возвращает версию выпуска системы, например '#3 on degas'. Если значение определить невозможно, возвращается пустая строка.

platform.uname()

Достаточно портативная функция uname. Возвращает namedtuple(), содержащий шесть атрибутов: system, node, release, version, machine и processor.

Обратите внимание, что это добавляет шестой атрибут (processor), отсутствующий в результате os.uname(). Также имена атрибутов отличаются для первых двух атрибутов; os.uname() называет их sysname и nodename.

Элементы, которые невозможно определить, устанавливаются в ''.

Изменено в версии 3.3: Результат изменён с кортежа на namedtuple().

Платформа 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). Значения, которые невозможно определить, устанавливаются в значения по умолчанию, заданные в параметрах (все по умолчанию '').

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

Элементы, которые невозможно определить, устанавливаются в ''. Все элементы кортежа являются строками.

END_OF_DOCUMENT_MARKER

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

© 2001–2023 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.10/library/platform.html

Spec-Zone.ru

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