sys
Python
En Python,
sys
es un módulo integrado que proporciona acceso a variables y funciones específicas del sistema. Permite interactuar con el intérprete de Python y el entorno de ejecución, ofreciendo funcionalidades como el manejo de argumentos de línea de comandos, la gestión de la entrada/salida estándar, y el acceso a información del sistema.
conocimientos requeridos antes de leer el articulo:
Importación y uso de Python sys
import sys # importar la libreria
# cerrar el programa con un codigo de estado especifico.
sys.exit(0) # en este caso es un codigo de estado exitoso.
sys.exit(1) # en este caso es un codigo de estado no exitoso.
sys.exit(2) # El comando no se ejecutó debido a argumentos incorrectos o una sintaxis inválida.
# devuelve la version de python
sys.version
# devuelve la plataforma o version del sistema operativo
sys.platform
# devuelve el path de busqueda de python
sys.path
# los argumentos que se pasan por línea de comandos cuando ejecutas el programa
sys.argv[0] # representa el nombre del script
sys.argv[1] # el primer argumento que pasas al script
sys.argv[2] # el segundo argumento que pasas al script
# y asi va consecutivamente de 3,4,5,6,etc.
# la representacion de los parametros desde la terminal deberia ser algo como:
python saludo.py pepe gonzalez
| |
# script parametro 1 parametro 2
# para tratar la situacion de que el usuario no proporcione ningun parametro:
if len(sys.argv) < 2: # si se dan menos de 2 parametros por ejemplo
print("Uso: python saludo.py <nombre>") # se le muestra al usuario como utilizar el programa
sys.exit(1) # se abandona con el codigo de estado sin exito como vimos anteriormente
# los parametros siempre seran strings (cadenas de texto) por lo que debes hacerles un type cast dependiendo tu situacion
# devuelve el sistema operativo
sys.platform
# devuelve el entero mas grande que python puede manejar en su arquitectura
sys.maxsize
# devuelve todos los modulos importados actualmente
sys.modules
# escribe como print y puedes usarlo para escribir logs o datos que serán usados por otros programas.
sys.stdout.write("Hola mundo")
# es un input avanzado, Lee datos directamente desde la entrada estándar
sys.stdin
# para poner un ejemplo de lo anterior:
for linea in sys.stdin: # este seria nuestro programa
print("Recibido:", linea.strip())
# la respuesta de este input avanzado al hacer echo "Hola mundo" | python script.py seria:
Recibido: Hola mundo
# mostrar errores separados de la salida estándar, útil para que herramientas automáticas no confundan errores con datos válidos.
sys.stderr.write("Ocurrio un error grave!\n")
# ejecución: python script.py 1> salida.txt 2> errores.txt
# 1 redirige la salida estándar (stdout)
# 2 redirige los errores (stderr)
Last updated