Автор оригинала: 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', '')
Смотрите также
- Стандартная библиотечная документация для платформы
- Python 2-3 Портирование заметки для платформы