Python pour les débutants, c’est avant tout de savoir lire un fichier ligne à ligne. Évident pour certains mais lorsque l’on commence, il faut bien apprendre.
Pour nous aider python possède deux fonctions ultra-utilisées : read et readline. Je pense que les deux sont inséparables.
Pour faire lire des lignes ou même en écrire de manière simple, vous pouvez aussi vous reporter à cet article précédent sur le module PATHLIB.
Read c’est l’équivalent de readline mais aux caractères. Ainsi, il permet d’afficher caractère par caractère le contenu d’une variable. Par exemple :
#notre fichier contient première ligne deuxième ligne troisième ligne >>> fichier = open("texte.txt") >>> fichier.close() >>> print(fichier.read(1)) p >>> print(fichier.read(1)) r >>> print(fichier.read()) première ligne deuxième ligne troisième ligne
On affiche donc le premier caractère de la première ligne. Read fonctionne donc par caractère et au fur et à mesure le curseur avance d’un caractère. Le paramètre pris par read est aussi le pas d’avancement du curseur. Si aucun paramètre n’est passé c’est tout l’élément qui est affiché. On peut donc afficher un fichier en faisant un simple read().
Readline c’est la même chose mais non pas en caractère mais en ligne comme son nom l’indique.
>> print(fichier.readlines()) [ 'première ligne\n', 'deuxième ligne\n', 'troisième ligne\n' ]
Readlines produit donc une liste consultable comme tout autre liste… en la parcourant.
>>> fichier = open("texte.txt") >>> for ligne in fichier.readlines(): ... print(ligne) première ligne deuxième ligne troisième ligne
Kool non ? donc deux méthodes pour récupérer le contenu d’un fichier mais on n’en fera pas la même chose :
- read() : pour afficher tout le fichier ou le récupérer dans une seule variable
- readlines() : pour l’utiliser ligne à ligne ou dans un tableau.