Exercice 27 / 100

Lecture de fichier

Ecris 4 prenoms (Alice, Bob, Charlie, Diana) dans /tmp/data.txt, puis relis le fichier et affiche son contenu et le nombre de lignes.

Pour lire ou écrire dans un fichier, on utilise la fonction built-in open() combinée à un bloc with.

Syntaxe recommandée (with) :

with open(chemin, mode) as f: # utiliser f ici # le fichier est automatiquement fermé en sortant du bloc

Les modes

'r' read → lecture seule (par défaut). Erreur si fichier absent. 'w' write → écriture. ⚠ Écrase le fichier s'il existe ! 'a' append → écriture à la suite (sans écraser). 'r+' read+write

Lire

with open('/tmp/data.txt', 'r') as f: contenu = f.read() # tout le fichier en une str
with open('/tmp/data.txt', 'r') as f: lignes = f.readlines() # liste de lignes (avec \n inclus)
with open('/tmp/data.txt', 'r') as f: for ligne in f: # lecture ligne par ligne (économe en mémoire) print(ligne.strip()) # .strip() enlève le \n final

Écrire

with open('/tmp/data.txt', 'w') as f: f.write('Alice\nBob\nCharlie\nDiana')

f.write() N'ajoute pas de \n automatique. Tu dois le mettre toi-même.

Pourquoi with ?

Sans with, il faut penser à fermer le fichier avec f.close(), même en cas d'erreur. Le bloc with le fait pour toi automatiquement. C'est la seule bonne façon d'ouvrir un fichier en Python moderne.

Le bloc with tient le fichier ouvert le temps qu'il dure et le referme tout seul en sortant, même si une erreur survient en chemin

splitlines() est utile pour compter les lignes : len(contenu.splitlines()).

exercise.py

Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →