Módulo Sys
Este módulo sys provee acceso a algunas variables usadas y mantenidas por el intérprete y a funciones que interactúan con el intérprete.
Variables
sys.argv
Es una lista de argumentos pasados desde la línea de comando al momento de invocar el script. Python reserva el primer elemento de esta lista para el nombre del script.
Ejemplo:
1
2
3
import sys
print(sys.argv)
1
python my_script.py uno 2 tercero
1
['my_script.py', 'uno', '2', 'tercero']
Si intentamos acceder a un elemento que no existe, por ejemplo
sys.argv[99]
lanzará un IndexError
sys.executable
Es una cadena (string
) que proporciona la ruta absoluta del binario ejecutable para el intérprete de Python, en otras palabras almacena la ruta donde se encuentra el directorio de instalación.
Ejemplo:
1
2
3
import sys
print(sys.executable)
1
'C:\Users\home\AppData\Local\Programs\Python\Python37\python.exe'
1
'/usr/local/opt/python@3.12/bin/python3.12'
En Windows, puedes abrir el directorio de instalación ejecutando el siguiente código:
1
2
3
4
import sys, subprocess
PYTHON_PATH = sys.executable
subprocess.Popen(f"explorer /select, {PYTHON_PATH}")
sys.platform
Es una cadena (string
) que contiene un identificador de plataforma.
Para los sistemas Unix, excepto en Linux y AIX, este es el nombre del sistema operativo en minúsculas como lo retorna el comando uname -s
con la primera parte de la versión retornada por el comando uname -r
adjunto, por ejemplo sunos5
o freebsd8
.
Veamos los valores de otros sistemas operativos:
Sistema | Valor |
---|---|
AIX | 'aix' |
Linux | 'linux' |
Windows | 'win32' |
Windows/Cygwin | 'cygwin' |
macOS | 'darwin' |
Ejemplo:
1
2
3
4
5
6
7
8
9
10
import sys, os
if sys.platform.startswith('win32'):
# plataforma windows código aqui...
os.system('cls')
elif sys.platform.startswith('linux'):
# plataforma linux código aqui...
os.system('clear')
elif sys.platform.startswith('darwin'):
# plataforma macOS código aqui...
Mi lema es