[Tip] Saber el sistema operativo desde python

Para encontrar en qué sistema operativo se está ejecutando nuestro script de python tenemos varias opciones. Ambas pasan por usar módulos estándar como os o bien sys, que vienen instalados por defecto en la distribución de python que tengas y no deberías tener problemas al usarlo. Ambos casos son válidos tanto para Python2 como para Python3.

La primera forma es recurriendo al atributo name del módulo os. Éste atributo no nos ayuda en exceso si nos interesa distinguir un sistema operativo mac de uno de linux, sin embargo, nos puede ser muy útil cuando necesitemos saber si soporta cosas que son comunes en los sistemas operativos de tipo Unix (o posix), tal y como la estructura de carpetas o la gestión de permisos de los archivos. Así, podemos distinguir dos tipos, según la documentación oficial de os.name, que podemos ver en la siguiente tabla:

Sistema operativoos.name
Windowsnt
Mac OSposix
Linuxposix
Relación del sistema operativo con el atributo os.name
>>> import os
>>> sistemaop = os.name
>>> print sistemaop
'posix'

Si usamos la librería sys, y en concreto el atributo sys.platform de python, podemos profundizar y distinguir aún más. En la siguiente tabla podemos ver la relación entre sistemas operativos y sys.platform, y vemos que aparecen diferentes opciones para cada plataforma. Si necesitas más información, puedes consultar la documentación oficial.

Sistema operativosys.platform
Windowswin32, win64
Mac OSlinux2, linux3, linux
Linuxdarwin
Relación del sistema operativo con el atributo sys.platform
>>> import sys
>>> sistemaop = sys.platform
>>> print sistemaop
'linux2'

Hasta el próximo tip de Python 🙂

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.