Lingua-e
Python

¿Qué significa OSError?

← Errores

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

Python

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