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.
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í:
- Python: ¿En qué sistema operativo me estoy ejecutando? 22 respuestas
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
.
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'')