Descripción
La excepción OSError
es una excepción base de Python que se produce cuando ocurre un error relacionado con operaciones del sistema operativo, como problemas al acceder a archivos, permisos denegados o recursos no disponibles. Esta excepción es la clase base para excepciones específicas del sistema operativo como FileNotFoundError
, PermissionError
y otros errores relacionados con E/S. OSError
proporciona información detallada sobre el error específico del sistema operativo que causó la excepción.
Aunque OSError
ha existido desde Python 1.5, la forma en que se maneja ha evolucionado:
Antes de Python 3.3
OSError
era una excepción general para manejar cualquier error del sistema operativo, como problemas de archivos, permisos, dispositivos, etc.
No existían excepciones más específicas. Todo error relacionado se capturaba con OSError
.
Desde Python 3.3
Se introdujeron excepciones más específicas que derivan de OSError
, como: FileNotFoundError
, PermissionError
,…
Sintaxis
exception OSError([arg])
Ejemplo
Un ejemplo de cómo se puede producir y manejar un error OSError
es intentar acceder a un archivo que no existe:
try:
file = open("archivo_inexistente.txt", "r")
except OSError as error:
print(f"Se produjo un error: {error}")
# Se produjo un error: [Errno 2] No such file or directory: 'archivo_inexistente.txt'
En este ejemplo, cuando intentamos abrir un archivo que no existe, Python
lanza una OSError
(específicamente FileNotFoundError
en Python 3.x). El bloque except captura la excepción y muestra el mensaje de error correspondiente.