Содержание страницы
platform – Доступ к идентификационным данным базовой платформы¶platform – Access to underlying platform’s identifying data
Исходный код: Lib/platform.py
Примечание
Конкретные платформы перечислены в алфавитном порядке, Linux включён в раздел Unix.
Кроссплатформенные¶Cross Platform
-
platform.architecture(executable=sys.executable, bits='', linkage='')¶ Запрашивает у указанного исполняемого файла (по умолчанию – двоичный файл интерпретатора Python) различные сведения об архитектуре.
Возвращает кортеж
(bits, linkage), содержащий информацию о битовой архитектуре и формате компоновки, используемом для исполняемого файла. Оба значения возвращаются в виде строк.Значения, которые не удаётся определить, возвращаются в соответствии с настройками параметров по умолчанию. Если bits задан как
'', то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 равно 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'. Если значение не удаётся определить, возвращается пустая строка.
-
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¶Java Platform
-
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¶Windows Platform
-
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¶
-
platform.mac_ver(release='', versioninfo=('', '', ''), machine='')¶ Получает информацию о версии Mac OS и возвращает её в виде кортежа
(release, versioninfo, machine), причём versioninfo – это кортеж(version, dev_stage, non_release_version).Записи, которые невозможно определить, устанавливаются в
''. Все элементы кортежа являются строками.
Платформы Unix¶Unix Platforms
-
platform.libc_ver(executable=sys.executable, lib='', version='', chunksize=16384)¶ Пытается определить версию libc, с которой слинкован исполняемый файл (по умолчанию интерпретатор Python). Возвращает кортеж строк
(lib, version), которые по умолчанию равны переданным параметрам, если поиск не удался.Обратите внимание, что эта функция обладает глубокими знаниями о том, как разные версии libc добавляют символы в исполняемый файл, и, вероятно, применима только к исполняемым файлам, скомпилированным с помощью gcc.
Файл читается и сканируется блоками по chunksize байт.