Os
Os en Python
Section titled “Os en Python”¿Qué es os en Python?
Section titled “¿Qué es os en Python?”El módulo os (Operating System) permite interactuar directamente con el sistema operativo: manejar archivos, carpetas, variables de entorno, procesos, permisos, rutas, y más.
Se importa así:
import os1. Manejo de directorios
Section titled “1. Manejo de directorios”Ver el directorio actual
Section titled “Ver el directorio actual”print(os.getcwd()) # get current working directoryCambiar de directorio
Section titled “Cambiar de directorio”os.chdir("/home/fravelz/Documentos")Listar archivos y carpetas
Section titled “Listar archivos y carpetas”archivos = os.listdir(".")print(archivos)Crear y eliminar carpetas
Section titled “Crear y eliminar carpetas”os.mkdir("nueva_carpeta") # Crear una carpetaos.makedirs("a/b/c", exist_ok=True) # Crear carpetas anidadas
os.rmdir("nueva_carpeta") # Eliminar carpeta vacíaos.removedirs("a/b/c") # Eliminar jerarquía vacía2. Manejo de archivos
Section titled “2. Manejo de archivos”Eliminar archivos
Section titled “Eliminar archivos”os.remove("archivo.txt")Renombrar o mover
Section titled “Renombrar o mover”os.rename("viejo.txt", "nuevo.txt")3. Trabajar con rutas (os.path)
Section titled “3. Trabajar con rutas (os.path)”Unir rutas correctamente (independiente del sistema)
Section titled “Unir rutas correctamente (independiente del sistema)”ruta = os.path.join("/home/fravelz", "Documentos", "archivo.txt")print(ruta)Obtener el nombre o carpeta base
Section titled “Obtener el nombre o carpeta base”print(os.path.basename("/home/fravelz/archivo.txt")) # archivo.txtprint(os.path.dirname("/home/fravelz/archivo.txt")) # /home/fravelzComprobar existencia
Section titled “Comprobar existencia”print(os.path.exists("archivo.txt")) # True o Falseprint(os.path.isfile("archivo.txt")) # True si es archivoprint(os.path.isdir("carpeta")) # True si es carpeta4. Variables de entorno
Section titled “4. Variables de entorno”Ver todas las variables del sistema
Section titled “Ver todas las variables del sistema”print(os.environ)Obtener una variable específica
Section titled “Obtener una variable específica”usuario = os.getenv("USER") # En Linux/Macprint(usuario)Crear o modificar una variable de entorno
Section titled “Crear o modificar una variable de entorno”os.environ["MI_VARIABLE"] = "1234"5. Ejecutar comandos del sistema
Section titled “5. Ejecutar comandos del sistema”os.system("ls") # Linux/Macos.system("dir") # WindowsEjemplo útil:
os.system("ping google.com -c 2")👉 Sí quieres más control (por ejemplo, capturar la salida del comando), es mejor usar el módulo subprocess.
6. Permisos y propiedades
Section titled “6. Permisos y propiedades”os.chmod("archivo.txt", 0o777) # Dar todos los permisosprint(os.stat("archivo.txt")) # Ver información (tamaño, permisos, etc.)7. Ejemplo práctico
Section titled “7. Ejemplo práctico”Este script organiza los archivos de una carpeta en subcarpetas por tipo:
import os
ruta = "/home/fravelz/Descargas"
for archivo in os.listdir(ruta):ruta_completa = os.path.join(ruta, archivo)
if os.path.isfile(ruta_completa):extension = archivo.split(".")[-1]carpeta = os.path.join(ruta, extension.upper())os.makedirs(carpeta, exist_ok=True)shutil.move(ruta_completa, os.path.join(carpeta, archivo))📦 Sí tienes archivos .png, .mp3, .pdf, los moverá a carpetas “PNG”, “MP3”, “PDF”, etc.
8. Combinación con otros módulos
Section titled “8. Combinación con otros módulos”- os + shutil → mover/copiar archivos.
- os + sys → detectar sistema operativo (sys.platform).
- os + subprocess → ejecutar comandos con control total.
9. Ejemplo: crear un script portable
Section titled “9. Ejemplo: crear un script portable”import os
def limpiar_pantalla():comando = "cls" if platform.system() == "Windows" else "clear"os.system(comando)
limpiar_pantalla()print("Pantalla limpia 😎")