Сообщить об ошибке.

Имя используемой OS

Получение названия OS из кода Python

Следующие переменные и функции модуля sys предоставляют информацию об названии и версии используемой OS из кода Python.

Содержание:


sys.platform:

Функция sys.platform возвращает строку, которая содержит идентификатор платформы, который можно использовать, например, для добавления компонентов, специфичных для платформы.

Для систем Unix, за исключением Linux и AIX, это имя ОС в нижнем регистре, возвращаемое командой bash uname -s с добавлением первой части версии, возвращаемой командой uname -r. Например 'sunos5' или 'freebsd8'. Поэтому, рекомендуется использовать следующую идиому:

if sys.platform.startswith('freebsd'):
    # FreeBSD-specific code here...
elif sys.platform.startswith('linux'):
    # Linux-specific code here...
elif sys.platform.startswith('aix'):
    # AIX-specific code here...

Значения для других систем:

  • AIX - 'aix'
  • Linux - 'linux'
  • Windows - 'win32'
  • Windows/Cygwin - 'cygwin'
  • Macos - 'darwin'

Смотрите также модуль platform, который обеспечивает детальную проверку подлинности системы.

sys.getwindowsversion():

Функция sys.getwindowsversion() возвращает именованный кортеж, описывающий версию Windows.

Возвращаемые именованные элементы:

  • major,
  • minor,
  • build,
  • platform,
  • service_pack,
  • servicepackminor,
  • servicepackmajor,
  • suite_mask,
  • product_type
  • platform_version.

К возвращаемым элементам можно получить доступ по имени, так что sys.getwindowsversion()[0] бутет эквивалентно sys.getwindowsversion().major.

Для обеспечения совместимости с предыдущими версиями только первые 5 элементов могут быть извлечены при помощи индексов.

product_type может принимать одно из следующих значений:

  1. (VER_NT_WORKSTATION) - Система является рабочей станцией.
  2. (VER_NT_DOMAIN_CONTROLLER) - Система является контроллером домена.
  3. (VER_NT_SERVER) - Система является сервером, а не контроллером домена.

platform_version возвращает точную основную версию, вспомогательную версию и номер сборки текущей операционной системы, а не версию, которая эмулируется для процесса.