Следующие переменные и функции модуля sys
предоставляют информацию об названии и версии используемой OS из кода Python.
sys.platform
,sys.getwindowsversion()
,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'
'linux'
'win32'
'cygwin'
'darwin'
Смотрите также модуль platform
, который обеспечивает детальную проверку подлинности системы.
sys.getwindowsversion()
:Функция sys.getwindowsversion()
возвращает именованный кортеж, описывающий версию Windows.
Возвращаемые именованные элементы:
К возвращаемым элементам можно получить доступ по имени, так что sys.getwindowsversion()[0]
бутет эквивалентно sys.getwindowsversion().major
.
Для обеспечения совместимости с предыдущими версиями только первые 5 элементов могут быть извлечены при помощи индексов.
product_type
может принимать одно из следующих значений:
(VER_NT_WORKSTATION)
- Система является рабочей станцией.(VER_NT_DOMAIN_CONTROLLER)
- Система является контроллером домена.(VER_NT_SERVER)
- Система является сервером, а не контроллером домена.platform_version
возвращает точную основную версию, вспомогательную версию и номер сборки текущей операционной системы, а не версию, которая эмулируется для процесса.