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 operativo | os.name |
---|---|
Windows | nt |
Mac OS | posix |
Linux | posix |
>>> 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 operativo | sys.platform |
---|---|
Windows | win32, win64 |
Mac OS | linux2, linux3, linux |
Linux | darwin |
>>> import sys >>> sistemaop = sys.platform >>> print sistemaop 'linux2'
Hasta el próximo tip de Python 🙂
Pingback: [Tip] Obtén información sobre la plataforma con Python | Cambia de SO