Où va ton meilleur score ?
Tu fermes ton jeu. Le lendemain, ton meilleur score est encore là. Où est-il gardé ?
Quand un programme s’arrête, ses variables disparaissent. Pour garder une donnée, il l’écrit dans un fichier.
Dans cette leçon, tu écris un fichier, puis tu le relis.
Mots-clés
| Mot | Ce que ça veut dire | Exemple |
|---|---|---|
| Fichier | Un texte gardé sur le disque. Il reste quand le programme s’arrête. | scores.txt |
| open | Le mot de Python qui ouvre un fichier. | open("scores.txt", "r") |
| Mode | Ce que tu veux faire du fichier : lire, écrire ou ajouter. | "r", "w", "a" |
| with | Le mot qui ferme le fichier tout seul à la fin du bloc. | with open(...) as fichier: |
| Encodage | La façon de ranger les lettres en nombres. Il faut le même pour écrire et lire. | utf-8 |
| Saut de ligne | Le signe qui passe à la ligne suivante. | \n |
| Chemin | Le nom du fichier, avec son dossier si besoin. | donnees/scores.txt |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Ouvrir un fichier
Pour travailler sur un fichier, on l’ouvre avec open. On donne son chemin et son mode.
Le mode "w" veut dire écrire. Le mode "r" veut dire lire. Le mode "a" veut dire ajouter à la fin.
fichier.write("texte") écrit. fichier.read() rend tout le contenu.
À toi : écrire puis lire
with open("scores.txt", "w", encoding="utf-8") as fichier:
fichier.write("Léa;120\n")
fichier.write("Karim;95\n")
print("Fichier écrit.")
with open("scores.txt", "r", encoding="utf-8") as fichier:
contenu = fichier.read()
print(contenu)
# Ajoute une ligne pour Sofia, puis relance.
# Enlève un \n et relance : que se passe-t-il ?
Exemple travaillé : ce que devient le fichier
| Étape | Mode | Contenu du fichier après |
|---|---|---|
| 1. Écrire Léa;120 | "w" | Léa;120 |
| 2. Ajouter Karim;95 | "a" | Léa;120 et Karim;95 |
| 3. Lire le fichier | "r" | Rien ne change |
| 4. Écrire Hugo;80 | "w" | Hugo;80 seulement |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Le mode w efface tout
Attention
Ouvrir un fichier en mode "w" vide le fichier tout de suite. Les anciennes lignes sont perdues. Pour garder l’ancien contenu et ajouter, utilise "a".
Pourquoi with ?
Un fichier ouvert doit être fermé. Sinon, ce que tu as écrit peut rester en attente et ne jamais arriver sur le disque.
Avec with, la fermeture est automatique. Elle a lieu à la fin du bloc décalé, même s’il y a une erreur.
Écris toujours with open(...) as fichier:.
Contrôle rapide
À toi de jouer
Contrôle rapide
4 questionsTes réponses sont corrigées ici et ne sont pas conservées. Un compte garde tes résultats.
Les accents et l’encodage
Un fichier ne garde que des nombres. L’encodage dit quel nombre est quelle lettre.
Le plus courant est utf-8. Il sait écrire é, ç et même 日本.
Si tu lis avec un autre encodage que celui de l’écriture, les accents deviennent des signes bizarres. Écris donc encoding="utf-8" partout.