Il y a différentes manières d' ouvrir un fichier texte à l'aide de la fonction open. Nous n'en présenterons que deux ici: l'ouverture en écriture et l'ouverture en lecture.
L'ouverture en écriture d'un fichier texte signifie que l'on souhaite y enregistrer du texte. Elle utilise la fonction open avec le mode "w" (pour write en anglais) :
f = open (chemin du fichier, "w")
Attention:
L'ouverture en lecture d'un fichier texte, signifie que l'on souhaite simplement lire le texte qui s'y trouve déjà enregistré. L'instruction permettant ceci utilise le mode "r" (comme read en anglais) :
f = open (chemin du fichier, "r")
Attention:
La procédure write permet d'écrire du texte dans un fichier. Plus précisement, pour écrire une chaine de caractères ch dans un fichier représenté par la variable f:
f.write (ch)
Les instructions d'écriture doivent évidemment être précédées par l'ouverture du fichier en écriture et suivie par sa fermeture.
f = open("Annonce.txt","w") f.write("Cours particulier de Python\n") f.write("par Eric Thirion\n") f.write("Prix: 25 euros/h\n") f.close()
Cette suite d'instructions crée un fichier nommé Annonce.txt dans le répertoire courant.
En ouvrant ce fichier avec le programme Bloc-Note de Windows, on obtient ceci:
Remarque: la procédure write n'écrit pas de caractère de saut de ligne à la fin de la chaine de caractères. Si vous souhaitez avoir un passage à la ligne, il faudra la terminer par un "\n".
La fonction read permet de transférer l'intégralité d'un fichier texte dans une seule chaine de caractères ch:
ch = f.read ()
où f est la variable associée au fichier.
f = open("Annonce.txt","r") ch = f.read() print(ch) f.close()
Ici nous commencons par ouvrir le fichier Annonce.txt en lecture. Le contenu du fichier est transféré dans la chaine de caractères ch, qui est ensuite affichée à l'écran.
Résultat de l'exécution du programme:
Remarque: la chaine ch contient tous les caractères de saut de ligne qui ont été enregistrés dans le fichier. C'est la raison pour laquelle l'affichage de ch se fait sur plusieur lignes.
La fonction readlines donne une autre manière de lire le contenu d'un fichier texte:
ch = f.readlines ()
La différence avec read se situe au niveau du résultat retourné: readlines retourne une liste de chaine de caractères dont chaque élément est une ligne du fichier.
f = open("Annonce.txt","r") L = f.readlines() for ch in L : print(ch) f.close()
Résultat de l'exécution du programme:
On remarque, que chaque ligne du texte affiché est séparée par une ligne blanche. Ceci est du au fait que readlines conserve le caractère de passage à la ligne dans chaque élément de la liste retournée.