La méthode file.readline() en Python

lire une ligne d'un fichier en python avec readline()

1. À propos de la métgode readline()

La méthode readline() est utilisée pour lire une ligne entière depuis un fichier ouvert.
Elle renvoie une chaîne de caractères (str) contenant la ligne, incluant le caractère de saut de ligne \n.
Lorsqu’elle arrive à la fin du fichier, elle retourne une chaîne vide "", ce qui permet de l’utiliser dans une boucle conditionnelle.

2. Lecture simple d’un fichier ligne par ligne avec readline()

2.1 Création d’un fichier de démonstration

Avant de lire, nous créons un petit fichier texte en mémoire. En pratique, vous lirez un fichier existant.

2.2 Utilisation basique de readline()

Ouvrons le fichier en lecture et appelons readline() trois fois de suite pour lire les trois lignes.

Observation : la quatrième lecture retourne une chaîne vide, signe que le curseur est à la fin du fichier (EOF).

3. Lecture complète sans connaître le nombre de lignes

3.1 Boucle while avec condition de chaîne vide

La méthode idiomatique pour lire toutes les lignes avec readline() est d'utiliser une boucle qui s'arrête quand la ligne lue est vide (fin de fichier).

3.2 Attention : une ligne vide dans le fichier

Si le fichier contient une ligne vide, readline() retournera "\n" (une chaîne avec un saut de ligne), pas une chaîne vide. La condition d'arrêt doit donc uniquement tester == "" (EOF).

4. Aller plus loin : position, seek() et alternative Pythonique

4.1 Suivre la position dans le fichier avec tell()

La méthode tell() renvoie la position actuelle du curseur dans le fichier (en octets depuis le début). Utile pour revenir en arrière avec seek().

4.2 L'approche Pythonique : itération directe sur l'objet fichier

Bien que readline() soit explicite, la manière recommandée de lire ligne par ligne en Python est d'itérer directement sur l'objet fichier (qui est un itérateur). C'est plus lisible et souvent plus performant.

4.3 Lire un nombre limité de caractères avec readline(n)

readline() accepte un argument optionnel n : il lira au maximum n caractères (ou jusqu'à la fin de la ligne). Cela permet de lire partiellement une très longue ligne sans tout charger en mémoire.


En résumé : readline() est une méthode de base pour lire ligne à ligne.
Elle reste utile quand on a besoin d'un contrôle fin (taille maximale, mélange avec tell()/seek()),
mais pour la plupart des cas, l'itération directe avec for ligne in fichier est plus simple et plus sûre.


 


 


Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web : www.tresfacile.net
Chaine YouTube : https://www.youtube.com/user/InformatiquesFacile
Me contacter : https://www.tresfacile.net/me-contacter/


Leave a Reply

Your email address will not be published. Required fields are marked *