Cuando programamos en Python y queremos que nuestro código sea multiplataforma (funcione igual en Windows, macOS o Linux), el módulo os se convierte en nuestro mejor aliado.
Piensa en él como una navaja suiza para trabajar con el sistema operativo: organización de carpetas, manejo de rutas, permisos, variables de entorno y mucho más.
En este artículo te muestro 8 usos prácticos que puedes aplicar hoy mismo.
1. Crear y organizar directorios automáticamente
Seguro te ha pasado: descargas un montón de archivos en una sola carpeta y después tienes que organizar todo a mano.
Con os puedes automatizar esta tarea:
import os
if not os.path.exists("pdfs"):
os.mkdir("pdfs")
os.makedirs("images/2025/events", exist_ok=True)
print("Archivos actuales:", os.listdir("."))
os.rmdir("old_folder")
✔️ os.path.exists evita errores al crear carpetas que ya existen.
✔️ os.makedirs(..., exist_ok=True) permite crear estructuras anidadas sin problemas.
2. Navegar por el sistema de archivos
En lugar de escribir rutas largas y absolutas, puedes moverte dentro de carpetas como si estuvieras en la terminal:
import os
print("Directorio inicial:", os.getcwd())
os.chdir("logs")
print("Ahora en:", os.getcwd())
os.chdir("..")
Esto hace tu script más limpio y flexible.
3. Manejar rutas de forma segura
¿Te acuerdas de esas peleas entre backslashes () y slashes (/) entre Windows y Linux? Con os.path te olvidas de eso:
folder = "reports"
filename = "summary.txt"
path = os.path.join(folder, filename)
print("Ruta completa:", os.path.abspath(path))
print("Nombre del archivo:", os.path.basename(path))
Con estas utilidades, tu código será portable en cualquier SO.
4. Controlar permisos de archivos
Si quieres asegurarte de que un archivo sea solo lectura o se pueda ejecutar:
import os, stat
file_path = "example.txt"
os.chmod(file_path, stat.S_IREAD) # Solo lectura
os.chmod(file_path, stat.S_IREAD | stat.S_IEXEC) # Lectura + ejecución
Muy útil cuando trabajas con scripts o archivos descargados.
5. Usar variables de entorno
Nunca guardes claves de API en tu código. Mejor, guárdalas en variables de entorno:
import os
api_key = os.getenv("API_KEY")
os.environ["MODE"] = "development"
Esto hace tu proyecto más seguro y configurable.
6. Ejecutar comandos del sistema
A veces, dejar que el SO haga el trabajo es lo más rápido:
import os
os.system("date")
os.system("cls" if os.name == "nt" else "clear")
⚠️ Consejo: para proyectos grandes es mejor usar subprocess, que es más seguro.
7. Obtener información del sistema
Si quieres saber dónde corre tu script o en qué usuario está activo:
import os
print("OS:", os.name)
print("PID actual:", os.getpid())
print("Usuario:", os.getlogin())
Perfecto para debugging y monitoreo.
8. Recorrer directorios con OS.WALK
En lugar de reinventar la rueda con funciones recursivas, os.walk lo hace por ti:
for dirpath, dirnames, filenames in os.walk("project"):
for file in filenames:
if file.endswith(".log"):
print("Encontrado:", os.path.join(dirpath, file))
Ideal para encontrar logs, imágenes o cualquier tipo de archivo dentro de proyectos grandes.
Conclusión
El módulo os en Python es una herramienta simple pero poderosa para interactuar con el sistema operativo. Con estos 8 ejemplos ya puedes:
- Organizar carpetas sin mover un dedo.
- Escribir rutas universales.
- Controlar permisos y seguridad.
- Usar variables de entorno y ejecutar comandos.
- Recorrer todo un árbol de directorios en segundos.
En definitiva, si quieres escribir scripts más robustos y multiplataforma, dominar os es un paso obligatorio.
Artículos Relacionados
Descubre más desde CIBERED
Suscríbete y recibe las últimas entradas en tu correo electrónico.
