Libro Python Aplicado de Eugenia Bahit. GNU/Linux, ciencia de datos, y desarrollo web

Banner de Python Aplicado

Módulos del sistema(os, sys y subprocess)


Cita con formato IEEE:
E. Bahit, "Módulos del sistema(os, sys y subprocess)", in Python Aplicado, 4th ed., EBRC Publisher, 2022, pp. 123-133.

Cita con formato APA 7:
Bahit, E.(2022). Módulos del sistema(os, sys y subprocess). In Python Aplicado(4th ed., pp. 123-133). EBRC Publisher.

Cita en línea:
(Bahit, 2022)

Los módulos os y subprocess permiten manejar funcionalidades del sistema, y procesos del sistema, respectivamente, mientras que el módulo sys, provee acceso a variables del intérprete del lenguaje.

A diferencia de shutil, un módulo de Python que permite manejar archivos a alto nivel, el módulo os provee funciones que operan a bajo nivel. Por este motivo, no se abarca el módulo shutil, sino, os.

El módulo OS

Este módulo permite operar a bajo nivel con funcionalidades del sistema operativo. Algunas de ellas, se listan en la siguiente tabla.

Funciones del módulo os que trabajan sobre el sistema operativo
Acción Comando GNU/Linux Método
ACCESO A ARCHIVOS Y DIRECTORIOS
Obtener directorio actual pwd getcwd()
Cambiar el directorio de trabajo cd ruta chdir(path)
Mover el directorio de trabajo a la raíz cd chroot()
Modificar permisos chmod chmod(path, permisos)
Cambiar el propietario de un archivo o directorio chown chown(path, permisos)
Crear un directorio mkdir mkdir(path[, modo])
Crear directorios recursivament mkdir -p mkdirs(path[, modo])
ACCESO A ARCHIVOS Y DIRECTORIOS
Eliminar un archivo rm remove(path)
Eliminar un directorio rmdir rmdir(path)
Renombrar un archivo mv rename(actual, nuevo)
Crear un enlace simbólico ln -s symlink(origen, destino)
Establecer máscara de creación de ficheros umask umask(máscara)
Obtener listado de archivos y directorios ls -a listdir(path)
Obtener el estado de un fichero stat stat(path)
EVALUACIÓN DE ARCHIVOS Y DIRECTORIOS (Módulo os.path)
Obtener ruta absoluta - path.abspath(path)
Obtener directorio base - path.basename(path)
Saber si un directorio existe - path.exists(path)
Conocer último acceso a un directorio - path.getatime(path)
Conocer tamaño del directorio - path.getsize(path)
Saber si una ruta es: -
absoluta - path.isabs(path)
un archivo - path.isfile(path)
un directorio - path.isdir(path)
un enlace simbólico - path.islink(path)
un punto de montaje - path.ismount(path)
FUNCIONALIDADES DEL SISTEMA OPERATIVO
Obtener el valor de una variable de entorno $VARIABLE getenv(variable)
Obtener los datos del sistema operativo uname -a uname()
Obtener UID id -u getuid()
Obtener ID del proceso pgrep getpid()
Crear variable de entorno(del sistema) export $VARIABLE putenv(variable, valor)
Forzar la escritura del caché al disco sync sync()
Matar un proceso kill kill(pid, señal)

Para una definición completa y detallada, referirse a la documentación oficial del lenguaje: https://docs.python.org/[2|3]/library/os.html

Variables de entorno: os.environ

Environ es un diccionario del módulo os que provee variables de entorno. Esto significa que las variables disponibles en environ (como claves del diccionario), varían de acuerdo al entorno en el que se esté ejecutando el programa o script. Por ejemplo, no serán las mismas variables si se ejecuta un script en la shell, que si se llama a environ desde una aplicación Web. Mientras que en el primer caso, las variables disponibles serán las de la shell de GNU Bash, en ...