Рубрики
Без рубрики

Платформа – информация о системе

Автор оригинала: Doug Hellmann.

Цель:

Зонд из основного оборудования платформы, операционная система, и интерпретатор информации информации.

Хотя Python часто используется в качестве перекрестной платформы, иногда необходимо знать, на какой системе работает программа. Создание инструментов Нужна эта информация, но приложение может также знать, что некоторые из библиотек или внешних команд, которые он использует, имеют разные интерфейсы на разных операционных системах. Например, инструмент для управления конфигурацией сети операционной системы может определить портативное представление сетевых интерфейсов, псевдонимов, IP-адресов и т. Д. Но когда время придет для редактирования файлов конфигурации, это должно знать больше о хосте, чтобы Можно использовать правильные команды конфигурации операционной системы и файлы. Модуль Module включает в себя инструменты для изучения интерпретатора, операционной системы и аппаратной платформы, где работает программа.

Примечание

Пример вывода в этом разделе был сгенерирован в трех системах: Mac Mini Runing MacOS 10.14, PC Dell PC, работающий на Ubuntu Linux 14.04, а VirtualBox VM работает Windows 10. Python был установлен на системах OS X и Windows с использованием предварительно скомпилированного Установщики из Python.org. Система Linux выполняет версию в системном пакете.

Особенно благодаря Патрику Кеттнеру (@Patrickkettner), чтобы помочь собрать пример вывода на Windows.

Устный переводчик

Есть четыре функции для получения информации о текущем переводчике Python. <Код> python_version () и <код> python_version_tuple () Возврат различных форм версии переводчика с помощью основных, незначительных и патч-уровней компонентов. <Код> Python_Compiler () Отчеты о компиляторе, используемом для построения интерпретатора. И <код> python_build () дает строку версий для сборки переводчика.

platform_python.py

import platform

print('Version      :', platform.python_version())
print('Version tuple:', platform.python_version_tuple())
print('Compiler     :', platform.python_compiler())
print('Build        :', platform.python_build())

OS X:

$ python3 platform_python.py

Version      : 3.7.1
Version tuple: ('3', '7', '1')
Compiler     : Clang 6.0 (clang-600.0.57)
Build        : ('v3.7.1:260ec2c36a', 'Oct 20 2018 03:13:28')

Linux:

$ python3 platform_python.py

Version      : 3.5.2
Version tuple: ('3', '5', '2')
Compiler     : GCC 4.8.4
Build        : ('default', 'Jul 17 2016 00:00:00')

Windows:

C:\>Desktop\platform_python.py

Version      : 3.5.1
Version tuple: ('3', '5', '1')
Compiler     : MSC v.1900 64 bit (AMD64)
Build        : ('v3.5.1:37a07cee5969', 'Dec  6 2015 01:54:25')

Платформа

Функция Platform () возвращает строку, содержащую идентификатор платформы общего назначения. Функция принимает два дополнительных булевых аргумента. Если псевдоним верно, имена в возвращаемом значении преобразуются из формального имени для их более распространенной формы. Когда TESCE верно, вместо полной строки возвращается минимальное значение с некоторыми деталями.

platform_platform.py

import platform

print('Normal :', platform.platform())
print('Aliased:', platform.platform(aliasedTrue))
print('Terse  :', platform.platform(terseTrue))

OS X:

$ python3 platform_platform.py

Normal : Darwin-18.0.0-x86_64-i386-64bit
Aliased: Darwin-18.0.0-x86_64-i386-64bit
Terse  : Darwin-18.0.0

Linux:

$ python3 platform_platform.py

Normal : Linux-3.13.0-55-generic-x86_64-with-Ubuntu-14.04-trusty
Aliased: Linux-3.13.0-55-generic-x86_64-with-Ubuntu-14.04-trusty
Terse  : Linux-3.13.0-55-generic-x86_64-with-glibc2.9

Windows:

C:\>platform_platform.py

Normal : Windows-10-10.0.10240-SP0
Aliased: Windows-10-10.0.10240-SP0
Terse  : Windows-10

Операционная система и аппаратная информация

Более подробную информацию о операционной системе и аппаратном обеспечении переводчик работает, а также может быть получен. <Код> Uname () Возвращает кортеж, содержащий систему, узел, выпуск, версию, машины и значения процессора. Отдельные значения могут быть доступны через функции того же имена, перечисленные в таблице ниже.

Функции информационной платформы

Функция

Возвращаемое значение

система()

Имя операционной системы

узел()

Имя хоста сервера, не полностью квалифицировано

релиз()

Номер выпуска операционной системы

версия()

Более подробную систему версию

машина()

Идентификатор аппаратного типа, такой как

‘i386’

процессор ()

реальный идентификатор для процессора (одинаковое значение, что и

машина()

во многих случаях)

platform_os_info.py

import platform

print('uname:', platform.uname())

print()
print('system   :', platform.system())
print('node     :', platform.node())
print('release  :', platform.release())
print('version  :', platform.version())
print('machine  :', platform.machine())
print('processor:', platform.processor())

OS X:

$ python3 platform_os_info.py

uname:,,,
22 20:13:40 PDT 2018; root:xnu-4903.201.2~1/RELEASE_X86_64',,)

system   : Darwin
node     : hubert.local
release  : 18.0.0
version  : Darwin Kernel Version 18.0.0: Wed Aug 22 20:13:40 PDT
2018; root:xnu-4903.201.2~1/RELEASE_X86_64
machine  : x86_64
processor: i386

Linux:

$ python3 platform_os_info.py

uname:,,,
00:27:10 UTC 2015',,)

system   : Linux
node     : apu
release  : 3.13.0-55-generic
version  : #94-Ubuntu SMP Thu Jun 18 00:27:10 UTC 2015
machine  : x86_64
processor: x86_64

Windows:

C:\>Desktop\platform_os_info.py

uname:,,,,,)

system   : Windows
node     : IE11WIN10
release  : 10
version  : 10.0.10240
machine  : AMD64
processor: Intel64 Family 6 Model 70 Stepping 1, GenuineIntel

Исполняемая архитектура

Индивидуальная информация о архитектуре программы может быть проверена с использованием функции Architection () Architection (). Первый аргумент является путь к исполняемой программе (по умолчанию для <код> Sys.EsceCutable , интерпретатор Python). Возвращаемое значение – кортеж, содержащий битовую архитектуру и используемый формат связи.

platform_architecture.py

import platform

print('interpreter:', platform.architecture())
print('/bin/ls    :', platform.architecture('/bin/ls'))

OS X:

$ python3 platform_architecture.py

interpreter: ('64bit', '')
/bin/ls    : ('64bit', '')

Linux:

$ python3 platform_architecture.py

interpreter: ('64bit', 'ELF')
/bin/ls    : ('64bit', 'ELF')

Windows:

C:\>Desktop\platform_architecture.py

interpreter: ('64bit', 'WindowsPE')
/bin/ls    : ('64bit', '')

Смотрите также