Manejo de excepciones de archivos abiertos en Python

Fariba Laiq 21 junio 2023
  1. Python open() Función de archivo
  2. Excepción de archivo abierto de Python
  3. Use try-except para manejar excepciones al leer un archivo en Python
Manejo de excepciones de archivos abiertos en Python

Para abrir un archivo, Python tiene una función incorporada llamada open() mediante la cual el usuario puede leer o escribir en un archivo, pero si, en cualquier circunstancia, falta el archivo o el compilador no puede acceder a él, entonces , nos encontramos con un FileNotFoundError. Este artículo analizará cómo manejar las excepciones de archivos de Python.

Python open() Función de archivo

Esta función abre el archivo, carga todo el contenido y lo devuelve como un objeto de archivo.

Sintaxis general:

open(filename, mode="r")

Esta función toma dos argumentos. Uno es el nombre del archivo o la ruta completa del archivo; el otro es el modo de acceso, que decide qué acción se debe realizar en un archivo.

Hay varios modos, incluidos r (solo lectura), w (solo escritura), a (solo agregar), rb (solo lectura en formato binario), etc.

Excepción de archivo abierto de Python

Supongamos que estamos tratando de abrir un archivo que no existe o ingresamos por error la ruta del archivo incorrecta, lo que resulta en una excepción FileNotFound.

Código de ejemplo:

file1 = open("myfile.txt", "r")
# Reading from file
print(file1.read())
file1.close()

Producción :

FileNotFoundError                         Traceback (most recent call last)
C:\Users\LAIQSH~1\AppData\Local\Temp/ipykernel_4504/3544944463.py in <module>
----> 1 file1 = open("myfile.txt",'r')
      2
      3 # Reading from file
      4 print(file1.read())
      5

FileNotFoundError: [Errno 2] No such file or directory: 'myfile.txt'

Vemos que la función open está dando un error que dice No existe tal archivo o directorio porque el compilador encuentra que falta el archivo a abrir.

Use try-except para manejar excepciones al leer un archivo en Python

Una de las mejores curas para este problema de archivos faltantes es que el código es ambiguo y contiene algunos errores. Envolvemos esa parte de nuestro código en el bloque try.

El bloque try se ejecuta primero. Cuando no se encuentra el archivo, se genera la excepción.

El código restante en el bloque intentar se omite y el control salta al bloque excepto. En el bloque excepto, mencionamos el tipo de error planteado.

Las excepciones se manejan en el bloque excepto. Si no hay una excepción en el bloque try, la cláusula except no se ejecutará.

Considere el siguiente ejemplo.

try:
    file1 = open("myfile.txt", "r")
    # Reading from file
    print(file1.read())
    file1.close()
except FileNotFoundError:
    print("FileNotFoundError successfully handled")

Producción :

FileNotFoundError successfully handled

Dado que hubo un error en el bloque try, la declaración en el bloque except se imprimió en la salida. Entonces, al usar este truco, podemos manejar las excepciones en nuestro código al mostrar cualquier mensaje en la salida a pesar de recibir un mensaje de error.

Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

Artículo relacionado - Python Exception