Документация Python неофициальный перевод

platform.md

216 строк · 14.5 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3.0/library/platform.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# `platform` – Доступ к идентификационным данным нижележащей платформы.89> **Примечание**10>11> Конкретные платформы перечислены в алфавитном порядке, Linux включён в раздел Unix.1213## Кроссплатформенные1415#### `[platform.architecture]platform.architecture(executable=sys.executable, bits='', linkage='')`1617Запрашивает у указанного исполняемого файла (по умолчанию – двоичный файл интерпретатора Python) различные сведения об архитектуре.1819Возвращает кортеж `(bits, linkage)`, содержащий информацию о разрядности архитектуры и формате компоновки, используемом для исполняемого файла. Оба значения возвращаются в виде строк.2021Значения, которые не удалось определить, возвращаются в соответствии с предустановками параметров. Если bits указан как `''`, то `sizeof(pointer)` (или `sizeof(long)` в Python версии \< 1.5.2) используется как индикатор поддерживаемого размера указателя.2223Функция использует системную команду `file` для выполнения работы. Она доступна на большинстве (если не на всех) Unix-платформах и некоторых платформах, не относящихся к Unix, и только если исполняемый файл указывает на интерпретатор Python. Разумные значения по умолчанию используются, когда указанные условия не выполняются.2425#### `[platform.machine]platform.machine()`2627Возвращает тип машины, например2829`'i386'`3031. Если значение не удалось определить, возвращается пустая строка.3233#### `[platform.node]platform.node()`3435Возвращает сетевое имя компьютера (может быть не полностью определённым!). Возвращается пустая строка, если значение не удаётся определить.3637#### `[platform.platform]platform.platform(aliased=0, terse=0)`3839Возвращает одну строку, идентифицирующую базовую платформу с максимально возможным количеством полезной информации.4041Результат предназначен для *чтения человеком*, а не для машинного разбора. Он может выглядеть по-разному на разных платформах, и это предусмотрено.4243Если *aliased* истинно, функция будет использовать псевдонимы для различных платформ, которые сообщают системные имена, отличающиеся от общепринятых; например, SunOS будет отображаться как Solaris. Для реализации этого используется функция [`system_alias()`](https://python-all.ru/3.0/library/platform.html#platform.system_alias).4445Установка *terse* в true заставляет функцию возвращать только абсолютный минимум информации, необходимый для идентификации платформы.4647#### `[platform.processor]platform.processor()`4849Возвращает (настоящее) имя процессора, например `'amdk6'`.5051Если значение не удалось определить, возвращается пустая строка. Обратите внимание: многие платформы не предоставляют эту информацию или просто возвращают то же значение, что и в случае с [`machine()`](https://python-all.ru/3.0/library/platform.html#platform.machine). NetBSD так и делает.5253#### `[platform.python_build]platform.python_build()`5455Возвращает кортеж5657`(buildno, builddate)`5859, содержащий номер сборки и дату сборки в виде строк.6061#### `[platform.python_compiler]platform.python_compiler()`6263Возвращает строку, идентифицирующую компилятор, использованный для компиляции Python.6465#### `[platform.python_branch]platform.python_branch()`6667Возвращает строку, идентифицирующую ветку SCM реализации Python.6869#### `[platform.python_implementation]platform.python_implementation()`7071Возвращает строку, идентифицирующую реализацию Python. Возможные возвращаемые значения: ‘CPython’, ‘IronPython’, ‘Jython’7273#### `[platform.python_revision]platform.python_revision()`7475Возвращает строку, идентифицирующую ревизию SCM реализации Python.7677#### `[platform.python_version]platform.python_version()`7879Возвращает версию Python в виде строки `'major.minor.patchlevel'`8081Обратите внимание: в отличие от `sys.version`, возвращаемое значение всегда включает уровень патча (по умолчанию 0).8283#### `[platform.python_version_tuple]platform.python_version_tuple()`8485Возвращает версию Python в виде кортежа строк `(major, minor, patchlevel)`.8687Обратите внимание: в отличие от `sys.version`, возвращаемое значение всегда включает уровень патча (по умолчанию `'0'`).8889#### `[platform.release]platform.release()`9091Возвращает релиз системы, например9293`'2.2.0'`9495или9697`'NT'`9899. Если значение не удалось определить, возвращается пустая строка.100101#### `[platform.system]platform.system()`102103Возвращает имя системы/ОС, например104105`'Linux'`106107,108109`'Windows'`110111или112113`'Java'`114115. Если значение не удалось определить, возвращается пустая строка.116117#### `[platform.system_alias]platform.system_alias(system, release, version)`118119Возвращает120121`(system, release, version)`122123, приведённый к общеупотребительным маркетинговым названиям, используемым для некоторых систем. В некоторых случаях он также меняет порядок информации, чтобы избежать путаницы.124125#### `[platform.version]platform.version()`126127Возвращает номер версии выпуска системы, например128129`'#3 на degas'`130131. Если определить значение не удаётся, возвращается пустая строка.132133#### `[platform.uname]platform.uname()`134135Довольно переносимый интерфейс uname. Возвращает кортеж строк `(system, node, release, version, machine, processor)`, идентифицирующих базовую платформу.136137Обратите внимание, что в отличие от функции [`os.uname()`](https://python-all.ru/3.0/library/os.html#os.uname), эта функция также возвращает возможную информацию о процессоре как дополнительный элемент кортежа.138139Записи, которые не удаётся определить, устанавливаются в `''`.140141## Платформа Java142143#### `[platform.java_ver]platform.java_ver(release='', vendor='', vminfo=('', '', ''), osinfo=('', '', ''))`144145Интерфейс версии для JPython.146147Возвращает кортеж `(release, vendor, vminfo, osinfo)`, где *vminfo* является кортежем `(vm_name, vm_release, vm_vendor)`, а *osinfo* – кортежем `(os_name, os_version, os_arch)`. Значения, которые не удаётся определить, устанавливаются в значения по умолчанию, задаваемые параметрами (все они по умолчанию равны `''`).148149## Платформа Windows150151#### `[platform.win32_ver]platform.win32_ver(release='', version='', csd='', ptype='')`152153Получает дополнительные сведения о версии из реестра Windows и возвращает кортеж `(version, csd, ptype)`, соответствующий номеру версии, уровню CSD и типу ОС (однопроцессорная или многопроцессорная).154155В качестве подсказки: *ptype* равен `'Uniprocessor Free'` на однопроцессорных машинах NT и `'Multiprocessor Free'` на многопроцессорных. *‘Free’* указывает, что версия ОС не содержит отладочного кода. Также может быть указано *‘Checked’*, что означает, что версия ОС использует отладочный код, то есть код, проверяющий аргументы, диапазоны и т.д.156157> **Примечание**158>159> Примечание: эта функция лучше всего работает с установленным пакетом `win32all` Марка Хэммонда, а также на Python 2.3 и новее (поддержка была добавлена в Python 2.6). Она, очевидно, работает только на платформах, совместимых с Win32.160161### Специфично для Win95/98162163#### `[platform.popen]platform.popen(cmd, mode='r', bufsize=None)`164165Переносимый интерфейс166167[`popen()`](https://python-all.ru/3.0/library/platform.html#platform.popen)168169. Ищет рабочую реализацию popen, отдавая предпочтение170171`win32pipe.popen()`172173. На Windows NT174175`win32pipe.popen()`176177должна работать; на Windows 9x она зависает из-за ошибок в библиотеке MS C.178179## Платформа Mac OS180181#### `[platform.mac_ver]platform.mac_ver(release='', versioninfo=('', '', ''), machine='')`182183Получает информацию о версии Mac OS и возвращает её в виде кортежа `(release, versioninfo, machine)`, где *versioninfo* является кортежем `(version, dev_stage, non_release_version)`.184185Записи, которые невозможно определить, устанавливаются в `''`. Все элементы кортежа являются строками.186187Документация по нижележащему API `gestalt` доступна онлайн по адресу [http://www.rgaros.nl/gestalt/](https://python-all.ru/3.0/library/platform.html).188189## Платформы Unix190191#### `[platform.dist]platform.dist(distname='', version='', id='', supported_dists=('SuSE', 'debian', 'redhat', 'mandrake', ...))`192193Это другое имя для194195[`linux_distribution()`](https://python-all.ru/3.0/library/platform.html#platform.linux_distribution)196197.198199#### `[platform.linux_distribution]platform.linux_distribution(distname='', version='', id='', supported_dists=('SuSE', 'debian', 'redhat', 'mandrake', ...), full_distribution_name=1)`200201Пытается определить имя дистрибутива Linux.202203`supported_dists` может быть задан для определения набора дистрибутивов Linux, которые следует искать. По умолчанию он представляет собой список поддерживаемых в настоящее время дистрибутивов Linux, идентифицируемых по имени файла выпуска.204205Если `full_distribution_name` имеет значение true (по умолчанию), возвращается полное название дистрибутива, полученное из ОС. В противном случае используется краткое имя из `supported_dists`.206207Возвращает кортеж `(distname,version,id)`, который по умолчанию принимает значения, переданные в качестве параметров. `id` – это элемент в скобках после номера версии. Обычно это кодовое имя версии.208209#### `[platform.libc_ver]platform.libc_ver(executable=sys.executable, lib='', version='', chunksize=2048)`210211Пытается определить версию libc, с которой слинкован исполняемый файл (по умолчанию – интерпретатор Python). Возвращает кортеж строк `(lib, version)`, которые по умолчанию принимают заданные параметры в случае неудачи поиска.212213Обратите внимание, что эта функция обладает глубокими знаниями о том, как разные версии libc добавляют символы в исполняемый файл, и, вероятно, применима только к исполняемым файлам, скомпилированным с помощью **gcc**.214215Файл читается и сканируется блоками по *chunksize* байт.216