Qué significa FileNotFoundError y cómo solucionarlo
Referencia del error
FileNotFoundError
Lenguaje
Severidad
MediaCuándo ocurre
Un FileNotFoundError se lanza en Python cuando el intérprete intenta abrir o acceder a un archivo que no existe en la ruta indicada.
Posibles soluciones
Usa pathlib.Path y verifica .exists() antes de abrir el archivo. Imprime o registra la ruta absoluta resuelta con Path.resolve() para confirmar que estás buscando en el lugar correcto. Al empaquetar scripts, usa __file__ para construir rutas relativas a la ubicación del propio script en lugar del directorio de trabajo actual.
Errores relacionados
Más detalles
Un FileNotFoundError se lanza en Python cuando el intérprete intenta abrir o acceder a un archivo que no existe en la ruta indicada. Es una subclase de OSError y es el error de sistema de archivos más común que encontrarás.
Por qué ocurre
- •La ruta del archivo es relativa y el directorio de trabajo no es el esperado cuando el script se ejecuta.
- •Un error tipográfico o separador de ruta incorrecto en la cadena de la ruta.
- •El archivo fue eliminado, movido o nunca se creó antes de que el script se ejecutara.
- •La ruta apunta a un directorio, no a un archivo.
Posibles soluciones
Usa pathlib.Path y verifica .exists() antes de abrir el archivo. Imprime o registra la ruta absoluta resuelta con Path.resolve() para confirmar que estás buscando en el lugar correcto. Al empaquetar scripts, usa __file__ para construir rutas relativas a la ubicación del propio script en lugar del directorio de trabajo actual.
Ejemplos
Código que causa el error
with open("config.json") as f:
data = f.read()Error en la terminal
Traceback (most recent call last):
File "app.py", line 1, in <module>
with open("config.json") as f:
FileNotFoundError: [Errno 2] No such file or directory: 'config.json'Código corregido
from pathlib import Path
config_path = Path("config.json")
if config_path.exists():
with config_path.open() as f:
data = f.read()
else:
print("Config file not found, using defaults")
data = "{}"Practica en inglés
¿Cómo le explicarías un FileNotFoundError 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