Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Aperçu

Lire et écrire un fichier

Voici la première page de la leçon. Lis-la et essaie les activités. La suite est dans le cours complet.

35 minutes

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

MotCe que ça veut direExemple
FichierUn texte gardé sur le disque. Il reste quand le programme s’arrête.scores.txt
openLe mot de Python qui ouvre un fichier.open("scores.txt", "r")
ModeCe que tu veux faire du fichier : lire, écrire ou ajouter."r", "w", "a"
withLe mot qui ferme le fichier tout seul à la fin du bloc.with open(...) as fichier:
EncodageLa façon de ranger les lettres en nombres. Il faut le même pour écrire et lire.utf-8
Saut de ligneLe signe qui passe à la ligne suivante.\n
CheminLe 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

Code: python
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

ÉtapeModeContenu 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 questions
Essayez : vos réponses sont notées ici puis oubliées. Connectez-vous si vous voulez conserver votre score et reprendre là où vous en étiez.Se connecter pour conserver mon score

Tes 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.

La leçon continue

9 parties de plus de cette leçon se trouvent dans le cours complet, avec les exercices et la vérification finale. Un compte te donne tout.