OSError es la clase base para errores relacionados con el sistema operativo en Python. Se lanza cuando falla una llamada al sistema, como operaciones de archivo, gestión de procesos o E/S de red. Muchas excepciones específicas como FileNotFoundError y PermissionError son subclases de OSError.
Por qué ocurre
- •Intentar abrir, renombrar o eliminar un archivo que no existe.
- •Tratar de crear un directorio que ya existe.
- •Un fallo de E/S en disco o error de hardware.
- •Se usa un descriptor de archivo inválido en una llamada al sistema de bajo nivel.
Ejemplos
Código que causa el error
import os
os.rename("old.txt", "new.txt")Error en la terminal
OSError: [Errno 2] No such file or directory: 'old.txt' -> 'new.txt'
Cómo solucionarlo
Envuelve las operaciones del sistema operativo en un bloque try/except OSError e inspecciona el atributo errno para el código de error específico. Usa pathlib para operaciones de archivo más seguras y expresivas. Verifica las precondiciones (existencia del archivo, permisos) antes de realizar la operación.
Código corregido
import os
from pathlib import Path
src = Path("old.txt")
if src.exists():
src.rename("new.txt")
else:
print("Source file not found")Errores relacionados
¿Listo para practicar tu inglés en el trabajo?
Lingua-e tiene ejercicios interactivos basados en conversaciones reales de developers: standups, code reviews, retrospectivas y más. Practica hasta que salga solo.
Prueba Lingua-e gratis