Entrada

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:

SistemaValor
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

Esta entrada está licenciada bajo CC BY 4.0 por el autor.