Python permet de manipuler des fichiers, c’est-à-dire de lire un fichier ou d’écrire dans un fichier.
I Ouverture d’un fichier
Pour ouvrir le fichier exemple.txt dans le but de le lire on utilise l’instruction :
fichiersource = open("exemple.txt","r",encoding = "utf-8")
On manipule ensuite le fichier en utilisant la variable fichiersource (on peut donner le nom de variable de notre choix).
Pour ouvrir le fichier exemple.txt dans le but d’écrire dedans on utilise l’instruction :
fichierresultat = open("exemple.txt","w",encoding = "utf-8")
On manipule ensuite le fichier en utilisant la variable fichierresultat (on peut donner le nom de variable de notre choix).
L’argument "r" ou "w" distingue donc la lecture (read) et l’écriture (write).
II Fermeture d’un fichier
Quand on a fini d’utiliser un fichier on doit le fermer. Pour fermer le fichier associé à la variable fichierexemple, on utilise l’instruction :
fichierexemple.close()
III Écriture dans un fichier
Si un fichier est ouvert avec l’option "w", on peut écrire dedans. On commence à écrire sur la première ligne.
Pour écrire du texte, par exemple P2, puis 42 sur la deuxième ligne dans le fichier associé à la variable fichierexemple, on utilise l’instruction :
fichierexemple.write("P2\n")
fichierexemple.write("42\n")
"\n" fait aller à la ligne.
Pour écrire le contenu d’une variable associée à un nombre, par exemple le contenu de la variable a associée à 42, dans le fichier associé à la variable fichierexemple, on utilise l’instruction :
fichierexemple.write(str(a)+"\n")
Avec ces instructions, on écrit dans le fichier ligne à ligne sans jamais revenir en arrière, en sautant des lignes à chaque fois que l’on rencontre "\n".
IV Lecture d’un fichier
Lorsque l’on ouvre un fichier, on pointe sur la première ligne du fichier.
L’instruction :
fichierexemple.readline()
Permet de passer à la ligne suivante sur laquelle on pointe désormais, dans le fichier associé à la variable fichierexemple.
L’instruction :
texte=fichierexemple.readline()
Permet de lire la ligne du fichier sur laquelle on pointe, de stocker ce contenu dans texte et de passer à la ligne suivante sur laquelle on pointe désormais dans le fichier associé à la variable fichierexemple.
La suite d’instructions :
texte=fichierexemple.readline()
while texte != "" :
Traitement
texte=fichiersource.readline()
Permet d’appliquer les instructions de traitement dans toutes les lignes du fichier, à la variable fichierexemple jusqu’à ce qu’il y ait une ligne vide : en effet la première instruction permet d’associer la variable texte à la ligne pointée du fichier et ensuite tant que on n’est pas arrivé à une ligne vide, on applique le traitement et on associe à texte le contenu de la ligne suivante.