платформа — Доступ к идентификационным данным базовой платформы
Новая в версии 2.3.
Исходный код: Lib/platform.py
Примечание
Перечисленные платформы указаны в алфавитном порядке, причём Linux включён в раздел Unix.
1. Кросс-платформенная поддержка
-
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() -
Возвращает тип процессора, например
'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'. Если значение невозможно определить, возвращается пустая строка.
-
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(), эта функция также возвращает возможную информацию о процессоре как дополнительный элемент кортежа.Элементы, которые невозможно определить, устанавливаются в значение
''.
2. Платформа 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. Платформа Windows
-
platform.win32_ver(release='', version='', csd='', ptype='') -
Получает дополнительную информацию о версии из реестра Windows и возвращает кортеж
(release, version, csd, ptype), содержащий информацию о выпуске ОС, номере версии, уровне CSD (пакета обновления) и типе ОС (многопроцессорная/однопроцессорная).В качестве подсказки: ptype равен
'Uniprocessor Free'на однопроцессорных машинах NT и'Multiprocessor Free'на многопроцессорных машинах. «Free» означает, что версия ОС не содержит отладочного кода. Также может быть указано «Checked», что означает, что версия ОС использует отладочный код, т. е. код, проверяющий аргументы, диапазоны и т. д.Примечание
Эта функция лучше всего работает с пакетом
win32allМарка Хаммонда, но также поддерживается в Python 2.3 и более поздних версиях (поддержка была добавлена в Python 2.6). Она, очевидно, работает только на платформах, совместимых с Win32.
3.1. Специфика Win95/98
-
platform.popen(cmd, mode='r', bufsize=None) -
Переносимый интерфейс
popen(). Находит рабочую реализацию popen, отдавая предпочтениеwin32pipe.popen(). В Windows NT должна работать реализацияwin32pipe.popen(); в Windows 9x она зависает из-за ошибок в библиотеке MS C.
4. Платформа Mac OS
-
platform.mac_ver(release='', versioninfo=('', '', ''), machine='') -
Получает информацию о версии Mac OS и возвращает её как кортеж
(release, versioninfo, machine), где versioninfo — кортеж(version, dev_stage, non_release_version).Элементы, которые невозможно определить, устанавливаются в значение
''. Все элементы кортежа — строки.
5. Платформы Unix
-
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 байт.
© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/2.7/library/platform.html