Le recours à la manipulation des fichiers est très courant dans les projets informatiques. Cela est utile soit pour lire des données, ou pour les écrire.
Que ce soit pour lire ou pour écrire on utilise la fonction open(). Cette fonction prend en entrée plusieurs arguments qui ne sont pas tous nécessaires. Les 2 premiers arguments sont les plus importants, le premier concerne le chemin du fichier qu’on veut ouvrir, ou en lecture ou en écriture. Et le deuxième concerne justement la manière dont on veut ouvrir le fichier. On verra cela en détail juste après.
Python permet l’ouverture d’un fichier de deux manières différentes. Voici deux codes qui permettent d’ouvrir un fichier texte et de lire son contenu :
Fonction open() et méthode .close()
dosTravail = « /Users/hichamyoussef/Documents/Entrees »
F = open(dosTravail+ »/DonneesEntree.txt », « r »)
lines = F.readlines()
print(lines)
F.close()
Dans ce programme, j’ai préféré utiliser une variable à laquelle j’affecte le chemin vers un dossier de travail. Cette variable est de type string (str). J’ai enregistré préalablement dans ce dossier, un fichier texte (.txt) nommé DonneesEntree.txt.
J’ai créé ensuite une nouvelle variable (F) qui servira comme base d’ouverture du fichier.
Ensuite, pour obtenir le contenu du fichier, j’ai appliqué la méthode .readlines() à la variable (F). cette méthode permet de lire d’un seul coup l’ensemble des ligne du fichier, elle retourne un résultat sous forme de liste.
J’ai créé et affecté cette liste à une variable lines. La méthode .readline() permet de lire le fichier ligne après l’autre. Pour lire un fichier en entier il faudra la mettre à l’intérieur d’un bloc d’une boucle de répétition (while ou for)
J’ai utilisé la fonction print() pour afficher le contenu de la variable lines. Je vous déconseille de faire cela si le contenu de votre fichier est volumineux.
Et enfin, j’ai appliqué la méthode .close() à la variable F pour fermer le fichier. Et c’est ce dernier point qui différencie cette première manière d’ouverture de fichier à la seconde que je vous montrerai juste après.
L’instruction with.
Cette instruction est très efficace car elle permet d’ouvrir et gérer la fermeture du fichier dès qu’on a fini de l’utiliser. Et ce n’est pas rien, car si on utilise la première méthode et on oublie de le fermer, cela peut créer un conflit ou même une erreur d’exécution, si on souhaite manipuler le fichier dans un endroit différent dans le code.
Voici le code avec l’instruction with :
with open(dosTravail+ »/DonneesEntree.txt », « r ») as F2:
lines2 = F2.readlines()
print(lines2)
Ouvrir un fichier en lecture seul ou en écriture
Le deuxième paramètre de la fonction open() indique la manière dont on veut ouvrir le fichier. Et cela peut se faire de trois manières distinctes :
- Ouvrir le fichier en lecture seule. Dans ce cas, ce paramètre doit être égale à ‘’r’’ (comme read)
- Ouvrir le fichier en écriture avec le paramètre ‘’w’’ (write). Si le fichier existe, il sera effacé. Et s’il n’existe pas il sera créé.
- Ouvrir le fichier en écriture avec le paramètre ‘’a’’ (append). Si le fichier existe, l’écriture continuera à la suite de la dernière ligne. Et s’il n’existe pas il sera créé.
Voici un programme qui permet de créer un fichier puis d’écrire dedans :
i = 0
with open(dosTravail+ »/DonneesSorti.txt », « w ») as F2:
while i < 10:
i = i+1
F2.write(« sortie » + str(i) + « \n »)
Et voici le résultat créé par ce code :
Fichiers csv
La minipulation des fichiers csv se fait de la même manière que les fichiers texte. Généralement dans Les fichiers on trouve des informations rangées par colonnes, donc elles peuvent être affichées sous forme d’un tableau que l’on peut ouvrir avec un tableur comme excel ou google sheet.
Pour créer des données de cette manière, on espace simplement les colonnes par des points virgules ( ;).