platform — Доступ к идентификационным данным базовой платформы
Исходный код: 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. При отсутствии вышеуказанных условий используются разумные значения по умолчанию.Примечание
На 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.
-
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','Windows', или'Java'. Если значение невозможно определить, возвращается пустая строка.
-
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.
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=-1) -
Переносимый интерфейс
popen(). Находит рабочую реализацию popen, отдавая предпочтениеwin32pipe.popen(). На Windows NTwin32pipe.popen()должен работать; на Windows 9x он зависает из-за ошибок в библиотеке MS C.Устарело начиная с версии 3.3: Эта функция устарела. Используйте модуль
subprocess. Обратите особое внимание на раздел Замена устаревших функций с помощью модуля subprocess.
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().Устарело начиная с версии 3.5, будет удалено в версии 3.7.
-
platform.linux_distribution(distname='', version='', id='', supported_dists=('SuSE', 'debian', 'redhat', 'mandrake', ...), full_distribution_name=1) -
Пытается определить имя дистрибутива операционной системы Linux.
supported_distsможет быть задано для определения набора дистрибутивов Linux, которые нужно искать. По умолчанию используется список поддерживаемых дистрибутивов Linux, определяемых по имени файла выпуска.Если
full_distribution_nameистинно (по умолчанию), возвращается полное имя дистрибутива, полученное из операционной системы. В противном случае используется короткое имя, взятое изsupported_dists.Возвращает кортеж
(distname,version,id), который по умолчанию соответствует переданным параметрам.id— это элемент в скобках после номера версии. Обычно это кодовое имя версии.Устарело начиная с версии 3.5, будет удалено в версии 3.7.
-
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/3.5/library/platform.html