Quiero verificar el sistema operativo (en la computadora donde se ejecuta el script).
Sé que puedo usarlo os.system('uname -o')
en Linux, pero me da un mensaje en la consola y quiero escribir en una variable.
Estará bien si el script puede decir si es Mac, Windows o Linux. ¿Cómo puedo verificarlo?
python
linux
operating-system
kolek
fuente
fuente
Respuestas:
Puedes usar
sys.platform
:sys.platform
tiene una granularidad más fina quesys.name
.Para los valores válidos, consulte la documentación .
Consulte también la respuesta a "¿En qué sistema operativo estoy ejecutando?"
fuente
"cygwin"
no"win32"
como alguien podría esperar."linux2"
ya no es un valor posible deplatform
(ver los documentos vinculados para corroboración) y, por lo tanto, si solo necesita admitir Python 3.3 y posterior, puede eliminar de forma segura la cláusula `or platform ==" linux2 "` de la Primera condición.Si desea saber en qué plataforma se encuentra fuera de "Linux", "Windows" o "Darwin" (Mac), sin más precisión, debe usar:
La
platform.system
función utilizauname
internamente.fuente
Linux
,Windows
,Java
o una cadena vacía. devdocs.io/python~3.7/library/platform#platform.systemPuede obtener una idea bastante aproximada del sistema operativo que está utilizando al verificar
sys.platform
.Una vez que tenga esa información, puede usarla para determinar si llamar a algo así
os.uname()
es apropiado para recopilar información más específica. También podría usar algo como Python System Information en sistemas operativos tipo UNIX o pywin32 para Windows.También hay psutil si desea realizar una inspección más profunda sin querer preocuparse por el sistema operativo.
fuente
Información más detallada está disponible en el
platform
módulo .fuente
platform
Tiene alguna ventaja el módulosys.platform
? ¿Cuándo me gustaría utilizar qué enfoque?platform
módulo. Simplemente haga clic en el enlace para obtener documentación.Puedes usar
sys.platform
.fuente