- os en Python
- Temario
- ¿Qué es os en Python?
- 1. Manejo de directorios
- 2. Manejo de archivos
- 3. Trabajar con rutas (
os.path) - 4. Variables de entorno
- 5. Ejecutar comandos del sistema
- 6. Permisos y propiedades
- 7. Ejemplo práctico
- 8. Combinación con otros módulos
- 9. Ejemplo: crear un script portable
- 10. Resumen de funciones más útiles
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 osprint(os.getcwd()) # get current working directoryos.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íaos.remove("archivo.txt")os.rename("viejo.txt", "nuevo.txt")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/fravelzprint(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 carpetaprint(os.environ)usuario = os.getenv("USER") # En Linux/Mac
print(usuario)os.environ["MI_VARIABLE"] = "1234"os.system("ls") # Linux/Mac
os.system("dir") # WindowsEjemplo útil:
os.system("ping google.com -c 2")👉 Si 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
import shutil
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))📦 Si 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
import platform
def limpiar_pantalla():
comando = "cls" if platform.system() == "Windows" else "clear"
os.system(comando)
limpiar_pantalla()
print("Pantalla limpia 😎")| Categoría | Función | Descripción |
|---|---|---|
| Directorios | os.getcwd() |
Directorio actual |
os.chdir() |
Cambiar directorio | |
os.listdir() |
Listar contenido | |
| Archivos | os.remove() |
Eliminar archivo |
os.rename() |
Renombrar/mover | |
| Carpetas | os.mkdir() |
Crear carpeta |
os.rmdir() |
Eliminar carpeta vacía | |
| Rutas | os.path.join() |
Unir rutas |
os.path.exists() |
Verificar existencia | |
| Sistema | os.system() |
Ejecutar comando |
| Entorno | os.getenv() |
Leer variable |
os.environ |
Acceder/editar variables |
Autor: Fravelz