platform — Доступ к идентификационным данным базовой платформы


Примечание

Конкретные платформы перечислены в алфавитном порядке, а Linux включён в раздел Unix.

Кросс-платформа

platform.architecture(executable=sys.executable, bits='', linkage='')

Запрашивает у данного исполняемого файла (по умолчанию двоичный файл интерпретатора Python) различную информацию об архитектуре.

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

Значения, которые невозможно определить, возвращаются в соответствии с предустановками параметров. Если биты указаны как '', sizeof(pointer) (или sizeof(long) в версии Python < 1.5.2) используется в качестве индикатора поддерживаемого размера указателя.

Данная функция полагается на системную команду file для выполнения фактической работы. Она доступна на большинстве, если не на всех платформах Unix и на некоторых платформах, отличных от Unix, и только в том случае, если исполняемый файл указывает на интерпретатор Python. По умолчанию используются разумные значения, когда вышеуказанные потребности не удовлетворяются.

Примечание

В Mac OS X (и, возможно, на других платформах) исполняемые файлы могут быть универсальными файлами, содержащими несколько архитектур.

Чтобы получить «64-битность» текущего интерпретатора, надежнее запросить атрибут sys.maxsize:

is_64bits = sys.maxsize > 2**32
platform.machine()

Возвращает тип машины, например 'i386'. Пустая строка возвращается, если значение не может быть определено.

platform.node()

Возвращает сетевое имя компьютера (может быть неполным!). Возвращается пустая строка, если значение не может быть определено.

platform.platform(aliased=0, terse=0)

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

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

Если значение aliased равно истина, функция будет использовать псевдонимы для различных платформ, которые сообщают имена систем, отличающиеся от их обычных имён, например SunOS будет указан как Solaris. Для этого используется функция system_alias().

Установка для terse значения истина приводит к тому, что функция возвращает только абсолютный минимум информации, необходимой для идентификации платформы.

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

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: Результат изменён с кортежа на именованный кортеж.

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. Возможные значения включают, помимо прочего, 'Enterprise', 'IoTUAP', 'ServerStandard' и 'nanoserver'.

Добавлено в версии 3.8.

platform.win32_is_iot()

Возвращает True, если версия Windows, возвращенная win32_edition(), распознана как версия IoT.

Добавлено в версии 3.8.

Платформа Mac OS

platform.mac_ver(release='', versioninfo=('', '', ''), machine='')

Предоставляет информацию о версии Mac OS и возвращает её в виде кортежа (release, versioninfo, machine), где versioninfo является кортежем (version, dev_stage, non_release_version).

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

Unix-платформы

platform.libc_ver(executable=sys.executable, lib='', version='', chunksize=16384)

Пытается определить версию libc, с которой связан исполняемый файл (по умолчанию интерпретатор Python). Возвращает кортеж строк (lib, version), которые по умолчанию используют заданные параметры в случае сбоя поиска.

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

Файл читается и сканируется порциями по chunksize байт.