Sys - Parámetros y funciones del sistema
En este resumen se explican algunas de las funcionalidades del módulo sys.
Importación
El módulo debe ser importado para su uso:
Intérprete Python, sistema operativo
platform
Indica el sistema operativo detectado:
Valores posibles:
Sistema operativo | valor |
---|---|
Windows | win32 |
Windows/Cygwin | cygwin |
Linux | linux |
AIX | aix |
macOS | darwin |
platform.startwith()
Este submétodo permite confinar código específico para cada plataforma posible:
if sys.platform.startswith('freebsd'):
# rutina especifica para FreeBSD
elif sys.platform.startswith('linux'):
# rutina especifica para Linux
elif sys.platform.startswith('aix'):
# rutina especifica para AIX
version
, version_info
Dan información completa sobre el actual intérprete de Python: versión, fecha, licencia, etc.
# info de version de Python
sys.version # data en string
sys.version_info # data en tupla
platlibdir
Devuelve las rutas a las bibliotecas del sistema:
sys.platlibdir # ruta a las bibliotecas especificas de la plataforma
path
, exec_prefix
, executable
, prefix
Devuelven las rutas del entorno Python que se está ejecutando actualmente, el cual puede ser el global del sistema (el predefinido del sistema) o un entorno virtual:
sys.path # variable de entorno PYTHONPATH actual (lista de rutas)
sys.exec_prefix # directorio de los archivos Python usados
sys.executable # ruta del ejecutable Python actual
sys.prefix # directorio para archivos Python independientes de la plataforma
Hilos
thread_info
Argumentos de entrada
Entrada de argumentos
Los argumentos de entrada son los valores que se asignan a continuación del nombre del programa al llamarlo:
En tanto que los banderines (flags) se asignan luego del nombre del programa en la ventana de comandos:argv
Los argumentos de entrada se leen con el metodo argv
:
argumentos = sys.argv # 'argument values'
argumentos # (lista completa)
argumentos[0] # (nombre del script Python)
argumentos[1] # 1º argumento
argumentos[2] # 2º argumento
Banderines
Los banderines (flags) registran las opciones que se pasan por la ventana de comandos y que afectan a la ejecución del intérprete de Python.
Uso
Este es el formato de uso de los
py -opcion_corta rutina.py argumento_rutina
py --opcion_larga rutina.py argumento_rutina
Por ejemplo, para agregar la opción verbose (texto de reporte espandido) se agregan las opciones -v
o --verbose
:
flags
Los flags recibidos se leen con el objeto de solo lectura flags
:
# banderines especificos
sys.flags.debug # sólo flag de debugueo
sys.flags.inspect # sólo flag de inspeccion
sys.flags.optimize # sólo flag de optimizacion
# (etc)
Las opciones implementadas son las siguientes:
Atributos | Opción (por consola) |
---|---|
debug |
-d |
inspect |
-i |
interactive |
-i |
isolated |
-I |
optimize |
-O o -OO |
dont_write_bytecode |
-B |
no_user_site |
-s |
no_site |
-S |
ignore_environment |
-E |
verbose |
-v |
bytes_warning |
-b |
quiet |
-q |
hash_randomization |
-R |
dev_mode |
-X dev (Modo de desarrollo de Python) |
utf8_mode |
-X utf8 |
Uso de memoria
getsizeof()
La función getsizeof()
mide la longitud en bytes del objeto que se le asigne como argumento, sean variables, datos, etc:
getallocatedblocks()
getallocatedblocks()
indica cuántos bloques de memoria RAM le fueron asignados al programa actual por parte del intérprete.
Salida del programa
exit()
La función exit()
ordena el cierre del proceso actual.
-1
suele ser indicativo de error.
retorno: int = -1 # uso clasico: -1 -> error del programa
sys.exit([retorno])
is_finalizing()
La función is_finalizing()
verifica si el programa ya se está cerrando.
Hooks, trace, profile
(Estudio y explicación pendiente)