Содержание страницы
15.15. platform – Доступ к идентификационным данным базовой платформы¶platform – Access to underlying platform’s identifying data
Новое в версии 2.3.
Исходный код: Lib/platform.py
Примечание
Конкретные платформы перечислены в алфавитном порядке, Linux включён в раздел Unix.
15.15.1. Кроссплатформенная¶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 заставляет функцию возвращать только абсолютный минимум информации, необходимый для идентификации платформы.
-
platform.processor()¶ Возвращает (настоящее) имя процессора, например
'amdk6'.Возвращается пустая строка, если значение не удаётся определить. Обратите внимание, что многие платформы не предоставляют эту информацию или просто возвращают то же значение, что и для
machine(). NetBSD делает это.
-
platform.python_build()¶ Возвращает кортеж
(buildno, builddate), содержащий номер сборки Python и дату в виде строк.
-
platform.python_compiler()¶ Возвращает строку, идентифицирующую компилятор, использованный для компиляции Python.
-
platform.python_branch()¶ Возвращает строку, идентифицирующую ветку SCM реализации Python.
Новое в версии 2.6.
-
platform.python_implementation()¶ Возвращает строку, идентифицирующую реализацию Python. Возможные возвращаемые значения: 'CPython', 'IronPython', 'Jython', 'PyPy'.
Новое в версии 2.6.
-
platform.python_revision()¶ Возвращает строку, идентифицирующую ревизию SCM реализации Python.
Новое в версии 2.6.
-
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','Windows'или'Java'. Пустая\nстрока возвращается, если значение не удаётся определить.
-
platform.system_alias(system, release, version)¶ Возвращает
(system, release, version), преобразованный в распространённые маркетинговые названия, используемые для некоторых систем. Также в некоторых случаях информация переупорядочивается, чтобы избежать путаницы.
-
platform.version()¶ Возвращает версию релиза системы, например
'#3 on degas'. Если значение не удаётся определить, возвращается пустая строка.
-
platform.uname()¶ Достаточно переносимый интерфейс uname. Возвращает кортеж строк
(system, node, release, version, machine, processor), идентифицирующих базовую платформу.Обратите внимание, что, в отличие от функции
os.uname(), эта функция также возвращает возможную информацию о процессоре в качестве дополнительного элемента кортежа.Записи, которые не удаётся определить, устанавливаются в
''.
15.15.2. Платформа 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). Значения, которые невозможно определить, устанавливаются в значения по умолчанию, заданные параметрами (все по умолчанию равны'').
15.15.3. Платформа Windows¶Windows Platform
-
platform.win32_ver(release='', version='', csd='', ptype='')¶ Получает дополнительную информацию о версии из реестра Windows и возвращает кортеж
(release, version, csd, ptype), содержащий релиз ОС, номер версии, уровень CSD (пакет обновления) и тип ОС (многопроцессорная/однопроцессорная).В качестве подсказки: ptype равен
'Uniprocessor Free'на однопроцессорных машинах NT и'Multiprocessor Free'на многопроцессорных. ‘Free’ относится к версии ОС, свободной от отладочного кода. Также может быть указано ‘Checked’, что означает, что версия ОС использует отладочный код, т.е. код, проверяющий аргументы, диапазоны и т.д.Примечание
Эта функция лучше всего работает с установленным Mark Hammond’s
win32allпакетом, но также на Python 2.3 и новее (поддержка этого была добавлена в Python 2.6). Она, очевидно, работает только на платформах, совместимых с Win32.
15.15.3.1. Специфичное для Win95/98¶Win95/98 specific
15.15.4. Платформа Mac OS¶Mac OS Platform
-
platform.mac_ver(release='', versioninfo=('', '', ''), machine='')¶ Получает информацию о версии Mac OS и возвращает её в виде кортежа
(release, versioninfo, machine), причём versioninfo – это кортеж(version, dev_stage, non_release_version).Записи, которые невозможно определить, устанавливаются в
''. Все элементы кортежа являются строками.
15.15.5. Платформы Unix¶Unix Platforms
-
platform.dist(distname='', version='', id='', supported_dists=('SuSE', 'debian', 'redhat', 'mandrake', ...))¶ Это старая версия функциональности, которая теперь предоставляется
linux_distribution(). Для нового кода используйтеlinux_distribution().Единственное различие между ними в том, что
dist()всегда возвращает короткое имя дистрибутива, взятое из параметраsupported_dists.Устарело с версии 2.6.
-
platform.linux_distribution(distname='', version='', id='', supported_dists=('SuSE', 'debian', 'redhat', 'mandrake', ...), full_distribution_name=1)¶ Пытается определить имя дистрибутива Linux.
supported_distsможет быть задан для определения набора дистрибутивов Linux для поиска. По умолчанию используется список текущих поддерживаемых дистрибутивов Linux, идентифицируемых по имени файла релиза.Если
full_distribution_nameимеет значение true (по умолчанию), возвращается полное имя дистрибутива, прочитанное из ОС. В противном случае используется короткое имя, взятое изsupported_dists.Возвращает кортеж
(distname,version,id), который по умолчанию соответствует аргументам, переданным в качестве параметров.id– это элемент в скобках после номера версии. Обычно это кодовое имя версии.Примечание
Эта функция устарела с Python 3.5 и удалена в Python 3.8. В качестве альтернативы используйте пакет distro.
Новое в версии 2.6.
-
platform.libc_ver(executable=sys.executable, lib='', version='', chunksize=2048)¶ Пытается определить версию libc, с которой слинкован исполняемый файл (по умолчанию интерпретатор Python). Возвращает кортеж строк
(lib, version), которые по умолчанию равны переданным параметрам, если поиск не удался.Обратите внимание, что эта функция обладает глубокими знаниями о том, как разные версии libc добавляют символы в исполняемый файл, и, вероятно, применима только к исполняемым файлам, скомпилированным с помощью gcc.
Файл читается и сканируется блоками по chunksize байт.