Aprenda el módulo Python Sys


En este artículo, veremos el módulo Python Sys. Hay variables y funciones que son mantenidas por el intérprete y el módulo sys proporciona una forma de interactuar con ellas. Estas variables están disponibles hasta que el intérprete esté vivo. Echaremos un vistazo a algunas de las funciones del sistema más utilizadas.

Para trabajar con el módulo sys, primero debe importar el módulo.

sys.version: almacena la información sobre la versión actual de python.

$ python3
>>> import sys
>>> sys.version

sys.path: la variable de ruta almacena la ruta del directorio en forma de lista de cadenas. Siempre que importe un módulo o ejecute un programa utilizando una ruta relativa, el intérprete de Python buscará el módulo o script necesario utilizando la variable de ruta.

El índice de ruta almacena el directorio que contiene el script que se utilizó para invocar al intérprete de Python en el índice "Cero". Si el intérprete se invoca de forma interactiva o si el script se lee desde la entrada estándar, la ruta [0] será una cadena vacía.

>>> sys.path

Al invocar el script, la ruta [0] almacena la ruta del directorio.

$ vim 1.py
$ python3 1.py

Si tiene módulos en un directorio personalizado, puede agregar la ruta del directorio a la variable de ruta usando un método path.append() (dado que la ruta es un objeto de lista, estamos usando el método de lista "agregar").

$ python3
>>> import sys
>>> sys.path
>>> sys.path.append('/root/test/')
>>> sys.path

sys.argv: argv se usa para pasar argumentos en tiempo de ejecución a su programa Python. Argv es una lista que almacena el nombre del script como el primer valor seguido de los argumentos que pasamos. Los valores de Argv se almacenan como tipo cadena y debe convertirlos explícitamente de acuerdo con sus necesidades.

>>> sys.argv

Cuando se ejecuta debajo del fragmento, el valor final de la función de rango se pasa a través de sys.argv [1] como 10 y también se pasan algunos otros valores para imprimir la lista de valores argv al final del programa.

#!/usr/bin/python3

import sys

for x in range(1,int(sys.argv[1])):
    print(x)
    
# Print all the arguments passed
print("Arguments passed:",sys.argv)

sys.executable: imprime la ruta absoluta del binario del intérprete de Python.

>>> sys.executable
'/usr/bin/python3'

sys.platform: imprime el tipo de plataforma del sistema operativo. Esta función será muy útil cuando ejecute su programa como dependiente de la plataforma.

>>> sys.platform
'linux'

sys.exit: sale del intérprete activando SystemSalir (estado). De forma predeterminada, se dice que el estado es Cero y se dice que es exitoso. Podemos usar un valor entero como Estado de salida u otros tipos de objetos como una cadena ("fallido") como se muestra en el siguiente ejemplo.

Debajo del ejemplo, se usa un fragmento para verificar si la plataforma es Windows y luego ejecutar el código. De lo contrario, active la función exit().

#!/usr/bin/python3

import sys

if sys.platform == 'windows':  # CHECK ENVIRONMENT
    #code goes here
    pass
else:
    print("This script is intended to run only on Windows, Detected platform: ", sys.platform)
    sys.exit("Failed")

sys.maxsize: este es un valor entero que representa el valor máximo que puede contener una variable.

On a 32-bit platform it is 2**31 - 1 
On a 64-bit platform it is 2**63 - 1

Hemos visto algunas de las funciones importantes del módulo sys y hay muchas más funciones. Hasta que lleguemos al siguiente artículo, puede leer más sobre el módulo sys aquí.