platform
— Доступ к идентификационным данным базовой платформы.¶
Kod źródłowy: Lib/platform.py
Informacja
Конкретні платформи, перелічені в алфавітному порядку, з Linux включено в розділ Unix.
Multiplataforma¶
- platform.architecture(executable=sys.executable, bits='', linkage='')¶
Запитує наданий виконуваний файл (за замовчуванням двійковий файл інтерпретатора Python) для отримання різноманітної інформації про архітектуру.
Повертає кортеж
(bits, linkage)
, який містить інформацію про бітову архітектуру та формат зв’язку, що використовується для виконуваного файлу. Обидва значення повертаються як рядки.Значення, які не можуть бути визначені, повертаються відповідно до налаштувань параметрів. Якщо біти задано як
''
,sizeof(pointer)
(абоsizeof(long)
у версії Python < 1.5.2) використовується як індикатор підтримуваного розміру покажчика.Функція покладається на системну команду
file
для виконання фактичної роботи. Це доступно на більшості, якщо не на всіх платформах Unix і на деяких платформах, що не належать до Unix, і тільки якщо виконуваний файл вказує на інтерпретатор Python. Розумні значення за замовчуванням використовуються, коли вищезазначені потреби не задовольняються.Informacja
У macOS (і, можливо, на інших платформах) виконувані файли можуть бути універсальними файлами, що містять кілька архітектур.
Чтобы получить «64-битность» текущего интерпретатора, более надежно запросить атрибут
sys.maxsize
:is_64bits = sys.maxsize > 2**32
- platform.machine()¶
Повертає тип машини, напр.
'AMD64'
. Якщо значення неможливо визначити, повертається порожній рядок.
- platform.node()¶
Повертає мережеве ім’я комп’ютера (може бути неповним!). Якщо значення неможливо визначити, повертається порожній рядок.
- platform.platform(aliased=False, terse=False)¶
Повертає єдиний рядок, що визначає базову платформу з якомога більшою кількістю корисної інформації.
Вихід призначений для людиночитаного, а не машинного аналізу. Це може виглядати по-різному на різних платформах, і це призначено.
Якщо aliased має значення true, функція використовуватиме псевдоніми для різних платформ, які повідомлятимуть імена систем, які відрізняються від їхніх звичайних імен, наприклад, SunOS буде повідомлено як Solaris. Для реалізації цього використовується функція
system_alias()
.Якщо встановити terse значення true, функція повертатиме лише абсолютний мінімум інформації, необхідної для ідентифікації платформи.
Zmienione w wersji 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
.Зауважте, що на відміну від
sys.version
Python, повернуте значення завжди включатиме patchlevel (він за замовчуванням дорівнює 0).
- platform.python_version_tuple()¶
Повертає версію Python як кортеж
(major, minor, patchlevel)
рядків.Зауважте, що на відміну від
sys.version
Python, повернуте значення завжди включатиме рівень виправлення (за замовчуванням він'0'
).
- platform.release()¶
Повертає випуск системи, напр.
'2.2.0'
або'NT'
. Якщо значення неможливо визначити, повертається порожній рядок.
- platform.system()¶
Повертає назву системи/ОС, наприклад
'Linux'
,'Darwin'
,'Java'
,'Windows'
. Якщо значення неможливо визначити, повертається порожній рядок.В iOS и Android возвращается имя операционной системы, обращенной к пользователю (т. е. «iOS», «iPadOS» или «Android»). Чтобы получить имя ядра («Darwin» или «Linux»), используйте
os.uname()
.
- platform.system_alias(system, release, version)¶
Повертає
(система, випуск, версія)
, пов’язаний із загальними маркетинговими назвами, які використовуються для деяких систем. Він також виконує певне впорядкування інформації в деяких випадках, коли інакше це може призвести до плутанини.
- platform.version()¶
Повертає версію випуску системи, напр.
'#3 на Дега'
. Якщо значення неможливо визначити, повертається порожній рядок.В iOS и Android это версия ОС, ориентированная на пользователя. Чтобы получить версию ядра Darwin или Linux, используйте
os.uname()
.
- platform.uname()¶
Досить портативний інтерфейс uname. Повертає
namedtuple()
, що містить шість атрибутів:system
,node
,release
,version
,machine
, іprocessor
.processor
разрешается поздно, по требованию.Note: the first two attribute names differ from the names presented by
os.uname()
, where they are namedsysname
andnodename
.Записи, які не можуть бути визначені, мають значення
''
.Zmienione w wersji 3.3: Результат змінено з кортежу на
namedtuple()
.Zmienione w wersji 3.9:
processor
разрешается поздно, а не сразу.
Plataforma 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)
. Значення, які не можуть бути визначені, встановлюються за замовчуванням, наданим як параметри (усі за замовчуванням''
).Deprecated since version 3.13, will be removed in version 3.15: Он практически не тестировался, имел запутанный API и был полезен только для поддержки Jython.
Plataforma Windows¶
- platform.win32_ver(release='', version='', csd='', ptype='')¶
Отримайте додаткову інформацію про версію з реєстру Windows і поверніть кортеж
(release, version, csd, ptype)
із посиланням на випуск ОС, номер версії, рівень CSD (пакет оновлень) і тип ОС (багато/однопроцесор). Значення, які не можуть бути визначені, встановлюються на значення за замовчуванням, надані як параметри (усі типові значення — порожній рядок).Подсказка: ptype — это
'Uniprocessor Free'
на однопроцессорных машинах NT и'Multiprocessor Free'
на многопроцессорных машинах. «Бесплатно» относится к версии ОС, свободной от отладочного кода. Также может быть указано «Проверено», что означает, что версия ОС использует код отладки, т. е. код, который проверяет аргументы, диапазоны и т. д.
- platform.win32_edition()¶
Повертає рядок, що представляє поточну версію Windows, або
None
, якщо значення неможливо визначити. Можливі значення включають, але не обмежуються ними,'Enterprise'
,'IoTUAP'
,'ServerStandard'
і'nanoserver'
.Dodane w wersji 3.8.
- platform.win32_is_iot()¶
Повертає
True
, якщо випуск Windows, який повертаєwin32_edition()
, розпізнається як випуск IoT.Dodane w wersji 3.8.
Plataforma macOS¶
- platform.mac_ver(release='', versioninfo=('', '', ''), machine='')¶
Отримати інформацію про версію macOS і повернути її як кортеж
(release, versioninfo, machine)
, де versioninfo є кортежем(version, dev_stage, non_release_version)
.Записи, які не можуть бути визначені, мають значення
''
. Усі записи кортежу є рядками.
Plataforma iOS¶
- platform.ios_ver(system='', release='', model='', is_simulator=False)¶
Получите информацию о версии iOS и верните ее как
namedtuple()
со следующими атрибутами:system
— имя ОС; либо'iOS'
, либо'iPadOS'
.release
— это номер версии iOS в виде строки (например,'17.2'
).model
— идентификатор модели устройства; это будет строка типа «iPhone13,2» для физического устройства или «iPhone» на симуляторе.is_simulator
— это логическое значение, описывающее, работает ли приложение на симуляторе или на физическом устройстве.
Для записей, которые невозможно определить, устанавливаются значения по умолчанию, заданные в качестве параметров.
Plataformas Unix¶
- platform.libc_ver(executable=sys.executable, lib='', version='', chunksize=16384)¶
Намагається визначити версію libc, з якою пов’язано виконуваний файл (за замовчуванням – інтерпретатор Python). Повертає кортеж рядків
(lib, version)
, які за замовчуванням мають задані параметри, якщо пошук не вдасться.Зауважте, що ця функція має глибокі знання про те, як різні версії libc додають символи до виконуваного файлу, ймовірно, придатна лише для виконуваних файлів, скомпільованих за допомогою gcc.
Файл зчитується та сканується шматками chunksize байтів.
Plataformas Linux¶
- platform.freedesktop_os_release()¶
Отримайте ідентифікатор операційної системи з файлу
os-release
і поверніть його як dict. Файлos-release
є стандартом freedesktop.org і доступний у більшості дистрибутивів Linux. Помітним винятком є Android і дистрибутиви на базі Android.Викликає
OSError
або підклас, якщо ні/etc/os-release
, ні/usr/lib/os-release
не можуть бути прочитані.У разі успіху функція повертає словник, де ключі та значення є рядками. Значення мають спеціальні символи, такі як
"
і$
без лапок. ПоляNAME
,ID
іPRETTY_NAME
завжди визначаються відповідно до стандарту. Усі інші поля Постачальники можуть включати додаткові поля.Зауважте, що такі поля, як
NAME
,VERSION
іVARIANT
, є рядками, придатними для представлення користувачам. Програми мають використовувати такі поля, якID
,ID_LIKE
,VERSION_ID
абоVARIANT_ID
для визначення дистрибутивів Linux.Przykład:
def get_like_distro(): info = platform.freedesktop_os_release() ids = [info["ID"]] if "ID_LIKE" in info: # ids are space separated and ordered by precedence ids.extend(info["ID_LIKE"].split()) return ids
Dodane w wersji 3.10.
Plataforma Android¶
- platform.android_ver(release='', api_level=0, manufacturer='', model='', device='', is_emulator=False)¶
Получите информацию об устройстве Android. Возвращает
namedtuple()
со следующими атрибутами. Для значений, которые невозможно определить, устанавливаются значения по умолчанию, заданные в качестве параметров.release
- версия Android, в виде строки (например,"14"
).api_level
— уровень API работающего устройства в виде целого числа (например,34
для Android 14). Чтобы узнать уровень API, на котором был построен Python, см.sys.getandroidapilevel()
.производитель
- Название производителя.model
– Название модели — обычно маркетинговое название или номер модели.device
— Имя устройства — обычно номер модели или кодовое имя.is_emulator
-True
, если устройство является эмулятором;False
, если это физическое устройство.
Google ведет список известных моделей и названий устройств.
Dodane w wersji 3.13.
Использование командной строки¶
platform
também pode ser invocado diretamente usando a opção -m
do interpretador:
python -m platform [--terse] [--nonaliased] [{nonaliased,terse} ...]
Приймаються такі варіанти:
- --terse¶
Exibe informações concisas sobre a plataforma. Isso equivale a chamar
platform.platform()
com o argumento terse definido comoTrue
.
- --nonaliased¶
Exibe informações da plataforma sem alias de nome do sistema/SO. Isso equivale a chamar
platform.platform()
com o argumento aliased definido comoTrue
.
Você também pode passar um ou mais argumentos posicionais (terse
, nonaliased
) para controlar explicitamente o formato de saída. Eles se comportam de forma semelhante às suas opções correspondentes.