Qué significa OSError y cómo solucionarlo
Referencia del error
OSError
Lenguaje
Severidad
MediaCuándo ocurre
OSError es la clase base para errores relacionados con el sistema operativo en Python.
Posibles soluciones
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.
Errores relacionados
Más detalles
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.
Posibles soluciones
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.
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ó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")Practica en inglés
¿Cómo le explicarías un OSError a un compañero dev? Elige la frase correcta:
"I hit an error...
¿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