Annuaire d'articles
Pour ouvrir un fichier, Python a une open()
fonction intégrée appelée , à travers laquelle l'utilisateur peut lire ou écrire dans le fichier, mais si dans tous les cas le fichier est manquant ou inaccessible au compilateur, alors, nous rencontrons une FileNotFoundError. Cet article décrit comment gérer les exceptions de fichier de Python.
Fonction de fichier Python open()
Cette fonction ouvre le fichier, charge tout le contenu et le renvoie en tant qu'objet fichier.
Syntaxe générale :
open(filename, mode='r')
Cette fonction a deux paramètres. L'un est le nom du fichier ou le chemin d'accès complet au fichier ; l'autre est le mode d'accès, qui détermine ce qui doit être fait avec le fichier.
Il existe différents modes, notamment r (lecture seule), w (écriture seule), a (ajout uniquement), rb (lecture seule au format binaire), etc.
Exception de fichier ouvert Python
Supposons que nous essayons d'ouvrir un fichier qui n'existe pas ou que nous entrions le mauvais chemin de fichier par erreur, ce qui entraîne une exception FileNotFound.
Exemple de code :
file1 = open("myfile.txt",'r')
# Reading from file
print(file1.read())
file1.close()
sortir:
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'
Nous voyons que la fonction open donne une erreur indiquant qu'il n'y a pas un tel fichier ou répertoire car le compilateur a trouvé que le fichier à ouvrir est manquant.
Utilisez try-except pour gérer les exceptions lorsque Python lit des fichiers
L'un des meilleurs moyens de résoudre ce problème de fichier manquant est que le code est vague et contient des erreurs. Nous enveloppons cette partie de code dans un bloc try.
Le bloc try est exécuté en premier. Une exception est levée lorsque le fichier est introuvable.
Le code restant dans le bloc try est ignoré et le contrôle passe au bloc except. Dans le bloc except, nous avons mentionné le type d'erreur générée.
Les exceptions sont gérées dans un bloc except. S'il n'y a pas d'exceptions dans le bloc try, la clause except ne s'exécutera pas.
Prenons l'exemple suivant.
try:
file1 = open("myfile.txt",'r')
# Reading from file
print(file1.read())
file1.close()
except FileNotFoundError:
print("FileNotFoundError successfully handled")
sortir:
FileNotFoundError successfully handled
Les instructions du bloc except sont imprimées dans la sortie en raison d'une erreur dans le bloc try. Ainsi, en utilisant cette astuce, nous pouvons gérer les exceptions dans notre code en affichant n'importe quel message dans la sortie malgré l'obtention d'un message d'erreur.