Как проверить, является ли ОС Vista в Python?

Как, простейшим образом, различать Windows XP и Windows Vista, используя Python и pywin32 или wxPython ?

По сути, мне нужна функция, которая будет вызывать True, если текущая ОС – Vista:

>>> isWindowsVista() True 

5 Solutions collect form web for “Как проверить, является ли ОС Vista в Python?”

У Python есть прекрасный модуль «платформы», который поможет вам.

 >>> import platform >>> platform.win32_ver() ('XP', '5.1.2600', 'SP2', 'Multiprocessor Free') >>> platform.system() 'Windows' >>> platform.version() '5.1.2600' >>> platform.release() 'XP' 

ПРИМЕЧАНИЕ. Как упоминалось в комментариях, правильные значения не могут быть возвращены при использовании более старых версий python.

Решение, используемое в Twisted, которое не нуждается в pywin32:

 def isVista(): if getattr(sys, "getwindowsversion", None) is not None: return sys.getwindowsversion()[0] == 6 else: return False 

Обратите внимание, что он также будет соответствовать Windows Server 2008.

Самое простое решение, которое я нашел, это:

 import sys def isWindowsVista(): '''Return True iff current OS is Windows Vista.''' if sys.platform != "win32": return False import win32api VER_NT_WORKSTATION = 1 version = win32api.GetVersionEx(1) if not version or len(version) < 9: return False return ((version[0] == 6) and (version[1] == 0) and (version[8] == VER_NT_WORKSTATION)) 

Может помочь идея из http://www.brunningonline.net/simon/blog/archives/winGuiAuto.py.html , которая может в основном ответить на ваш вопрос:

 win_version = {4: "NT", 5: "2K", 6: "XP"}[os.sys.getwindowsversion()[0]] print "win_version=", win_version 
 import platform if platform.release() == "Vista": # Do something. 

или

 import platform if "Vista" in platform.release(): # Do something. 
  • Как вы принудительно обновляете wx.Panel?
  • WxPython Несовместим со снежным барсом?
  • Slim down Python wxPython OS X приложение, построенное с помощью py2app?
  • выделение большего размера в sizer до wx.CollapsiblePane при расширении
  • Скрытие командной строки в приложении wxpython
  • Альтернативная раскраска строк в Scintilla
  • Программно генерировать видео или анимированный GIF в Python?
  • управление элементами пользовательского интерфейса в wxPython с использованием потоков
  • Сделать ширину столбца занимайте доступное пространство в wxPython ListCtrl
  • Чтение изображения из буфера обмена с помощью wxPython
  • wxPython: вызов события вручную
  • Python - лучший язык программирования в мире.