Maîtriser readline() en Python : lecture de fichier ligne par ligne efficace
Maîtriser readline() en Python : lecture de fichier ligne par ligne efficace
Qu'est-ce que Python readline() ?
readline() est une méthode de fichier intégrée qui renvoie la prochaine ligne complète depuis un objet fichier. La chaîne retournée se termine par un caractère de nouvelle ligne (\n). Quand la fin du fichier est atteinte, elle renvoie une chaîne vide.
Vous pouvez optionnellement passer un argument size pour limiter le nombre d'octets lus. Une valeur négative ou omise cause la lecture de la ligne entière.
Caractéristiques clés
- Lit une ligne complète par appel.
- Ajoute un saut de ligne final sauf si la ligne est la dernière sans en avoir.
- Renvoie une chaîne en mode texte ; un objet bytes en mode binaire.
- Supporte un paramètre optionnel
size(défaut -1).
Syntaxe
objet_fichier.readline([size])
Paramètres
- size (int, optionnel) : Nombre d'octets à lire. Défaut -1 (lire toute la ligne).
Valeur de retour
Une chaîne (ou bytes) contenant la prochaine ligne, ou une chaîne vide quand le fichier est épuisé.
Exemple 1 : Lire la première ligne
Supposons que demo.txt contient :
Test - PremièreLigne
Test - DeuxièmeLigne
Test - Troisième Ligne
Test - Quatrième Ligne
Test - Cinquième Ligne
Code Python :
with open("demo.txt", "r") as f:
premiere_ligne = f.readline()
print(premiere_ligne)
Sortie :
Test - PremièreLigne
Exemple 2 : Utiliser l'argument size
Lire seulement les 10 premiers caractères de la première ligne :
with open("demo.txt", "r") as f:
partiel = f.readline(10)
print(partiel)
Sortie :
Test -
Entrée/Sortie de base sur fichiers en Python
L'ouverture de fichiers est gérée par open(chemin, mode). Modes courants :
| Mode | Description |
|---|---|
| r | Lecture (défaut) |
| w | Écriture (tronque) |
| a | Ajout |
| rb | Lecture binaire |
| wb | Écriture binaire |
Lire un fichier ligne par ligne
Utiliser une boucle while avec readline() :
with open("demo.txt", "r") as f:
ligne = f.readline()
while ligne:
print(ligne)
ligne = f.readline()
Utiliser une boucle for (préféré pour la lisibilité) :
with open("demo.txt", "r") as f:
for ligne in f:
print(ligne)
Lire toutes les lignes d'un coup
readlines() de Python renvoie une liste de toutes les lignes :
with open("test.txt", "r") as f:
lignes = f.readlines()
print(lignes)
Exemple de sortie :
["Ligne No 1\n", "Ligne No 2\n", "Ligne No 3\n", "Ligne No 4\n", "Ligne No 5"]
Résumé
- Utilisez
readline()pour une lecture contrôlée, ligne par ligne. - Passez
sizepour limiter les octets lus ; défaut lit la ligne entière. - Pour une itération simple, préférez
for ligne in fichierà une bouclewhilemanuelle. - Quand vous avez besoin de toutes les lignes en mémoire,
readlines()est pratique. - Fermez toujours les fichiers ; l'instruction
withgère cela automatiquement.
Python
- Maîtriser str.count() de Python : Compter caractères et sous-chaînes avec exemples
- Maîtriser les chaînes format() en Python avec exemples clairs
- Maîtriser la méthode String.find() de Python : Syntaxe, Exemples et Alternatives
- Maîtriser les fonctions lambda Python : exemples pratiques et bonnes pratiques
- Fonction Python round() expliquée avec exemples pratiques
- Maîtriser la fonction Python map() : syntaxe, exemples et bonnes pratiques
- Python timeit() : mesurer le temps d'exécution avec exemples pratiques
- Python Counter dans collections : comptage efficace, mise à jour et opérations arithmétiques
- Comprendre type() et isinstance() en Python : exemples pratiques