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.
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.
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.
¿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.
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.
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.
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.
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.
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.
El módulo os en Python es una herramienta simple pero poderosa para interactuar con el sistema operativo. Con estos 8 ejemplos ya puedes:
En definitiva, si quieres escribir scripts más robustos y multiplataforma, dominar os es un paso obligatorio.
La biografía más vendida del cofundador de Apple, Steve Jobs; escrita por uno de los…
Hubo un tiempo en el que la “seguridad en el hogar” significaba confiar en un…
Elon Musk vuelve a romper todos los esquemas. Los accionistas de Tesla acaban de aprobar…
Los fans de Grand Theft Auto tendrán que esperar un poco más para volver a…
Five Nights at Freddy’s: Into the Pit nos sumerge en un misterioso mundo donde lo…
Adéntrate en el oscuro y retorcido mundo de Bendy and the Ink Machine, donde los…