Skip to content

Os


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 os

print(os.getcwd()) # get current working directory
os.chdir("/home/fravelz/Documentos")
archivos = os.listdir(".")
print(archivos)
os.mkdir("nueva_carpeta") # Crear una carpeta
os.makedirs("a/b/c", exist_ok=True) # Crear carpetas anidadas
os.rmdir("nueva_carpeta") # Eliminar carpeta vacía
os.removedirs("a/b/c") # Eliminar jerarquía vacía

os.remove("archivo.txt")
os.rename("viejo.txt", "nuevo.txt")

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)
print(os.path.basename("/home/fravelz/archivo.txt")) # archivo.txt
print(os.path.dirname("/home/fravelz/archivo.txt")) # /home/fravelz
print(os.path.exists("archivo.txt")) # True o False
print(os.path.isfile("archivo.txt")) # True si es archivo
print(os.path.isdir("carpeta")) # True si es carpeta

print(os.environ)
usuario = os.getenv("USER") # En Linux/Mac
print(usuario)
os.environ["MI_VARIABLE"] = "1234"

os.system("ls") # Linux/Mac
os.system("dir") # Windows

Ejemplo ú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.


os.chmod("archivo.txt", 0o777) # Dar todos los permisos
print(os.stat("archivo.txt")) # Ver información (tamaño, permisos, etc.)

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.


  • os + shutil → mover/copiar archivos.
  • os + sys → detectar sistema operativo (sys.platform).
  • os + subprocess → ejecutar comandos con control total.

import os
def limpiar_pantalla():
comando = "cls" if platform.system() == "Windows" else "clear"
os.system(comando)
limpiar_pantalla()
print("Pantalla limpia 😎")