proyectos ejemplos python

ejemplos - ¿Cómo puedo verificar si estoy ejecutando Windows en Python?



django (5)

¿Estás usando platform.system ?

system() Returns the system/OS name, e.g. ''Linux'', ''Windows'' or ''Java''. An empty string is returned if the value cannot be determined.

Si eso no funciona, tal vez intente platform.win32_ver y si no genera una excepción, estará en Windows; pero no sé si es compatible con 64 bits, ya que tiene 32 en el nombre.

win32_ver(release='''', version='''', csd='''', ptype='''') Get additional version information from the Windows Registry and return a tuple (version,csd,ptype) referring to version number, CSD level and OS type (multi/single processor).

Pero os.name es probablemente el camino a seguir, como otros lo han mencionado.

Por lo que vale, aquí hay algunas de las formas en que verifican Windows en platform.py:

if sys.platform == ''win32'': #--------- if os.environ.get(''OS'','''') == ''Windows_NT'': #--------- try: import win32api #--------- # Emulation using _winreg (added in Python 2.0) and # sys.getwindowsversion() (added in Python 2.3) import _winreg GetVersionEx = sys.getwindowsversion #---------- def system(): """ Returns the system/OS name, e.g. ''Linux'', ''Windows'' or ''Java''. An empty string is returned if the value cannot be determined. """ return uname()[0]

Esta pregunta ya tiene una respuesta aquí:

Encontré el módulo de plataforma, pero dice que devuelve ''Windows'' y está devolviendo ''Microsoft'' en mi máquina. Noté en otro hilo aquí en stackoverflow que a veces devuelve ''Vista''.

Entonces, la pregunta es, ¿cómo funciona el implemento?

if isWindows(): ...

De una manera compatible hacia adelante? Si tengo que verificar cosas como ''Vista'', se romperá cuando salga la próxima versión de Windows.

Nota: las respuestas que afirman que esta es una pregunta duplicada no responden realmente a la pregunta es isWindows . Responden la pregunta "qué plataforma". Dado que existen muchos tipos de ventanas, ninguna de ellas describe exhaustivamente cómo obtener una respuesta de isWindows .


Debería poder confiar en os .name.

import os if os.name == ''nt'': # ...

editar: Ahora diría que la forma más clara de hacer esto es a través del módulo de la platform , según la otra respuesta.


Módulo os Python

Específicamente

os.name El nombre del módulo dependiente del sistema operativo importado. Los siguientes nombres han sido registrados actualmente: ''posix'', ''nt'', ''mac'', ''os2'', ''ce'', ''java'', ''riscos''.

En su caso, desea comprobar ''nt'' como salida os.name :

import os if os.name == ''nt'': ...


en sys también:

import sys # its win32, maybe there is win64 too? is_windows = sys.platform.startswith(''win'')


import platform is_windows = any(platform.win32_ver())

o

import sys is_windows = hasattr(sys, ''getwindowsversion'')