win32file win32api for extensions extension python windows windows-vista wxpython pywin32

win32api - win32gui python documentation



¿Cómo verificar si el sistema operativo es Vista en Python? (5)

¿Cómo, de la manera más simple posible, distinguir entre Windows XP y Windows Vista, usando Python y pywin32 o wxPython ?

Esencialmente, necesito una función que invoque devolverá verdadero si el sistema operativo actual es Vista:

>>> isWindowsVista() True


La solución utilizada en Twisted, que no necesita pywin32:

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

Tenga en cuenta que también coincidirá con Windows Server 2008.


Python tiene el encantador módulo de "plataforma" para ayudarte.

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

NOTA: Como se menciona en los comentarios, es posible que los valores correctos no se devuelvan cuando se usan versiones anteriores de python.


La solución más simple que encontré es esta:

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))



import platform if platform.release() == "Vista": # Do something.

o

import platform if "Vista" in platform.release(): # Do something.