Lire et écrire des fichiers
Charge et sauvegarde des données dans des fichiers texte avec open().
⏱ 12 minutes
📂 intermediaire
#intermediaire
#fichiers
#io
#with
Lire et écrire des fichiers
Tes programmes peuvent sauvegarder des données et les relire plus tard. Pour ça, on utilise des fichiers.
La fonction open()
Elle prend deux arguments importants : le chemin et le mode.
| Mode | Effet |
|---|---|
"r" |
lecture (read) — fichier doit exister |
"w" |
écriture, écrase tout |
"a" |
ajout à la fin (append) |
"x" |
crée, erreur si fichier existe |
Toujours utiliser with 🙏
Avec with, le fichier est automatiquement fermé même en cas d'erreur :
with open("notes.txt", "w") as f:
f.write("Bonjour Zazac !\n")
f.write("On est le 17 mai.\n")
# Le fichier est fermé ici tout seul ✅
Lire un fichier entier
with open("notes.txt", "r") as f:
contenu = f.read()
print(contenu)
Lire ligne par ligne
with open("notes.txt", "r") as f:
for ligne in f:
print(ligne.strip()) # strip() enlève le \n final
Lire toutes les lignes dans une liste
with open("notes.txt", "r") as f:
lignes = f.readlines()
print(lignes) # ['Bonjour Zazac !\n', 'On est le 17 mai.\n']
Ajouter à la fin (mode "a")
with open("notes.txt", "a") as f:
f.write("Encore une ligne ajoutée.\n")
Mini-projet : journal de bord
from datetime import datetime
date = datetime.now().strftime("%d/%m/%Y %H:%M")
texte = input("Que veux-tu noter ? ")
with open("journal.txt", "a", encoding="utf-8") as f:
f.write(f"[{date}] {texte}\n")
print("Noté !")
⚠ Encodages
Sur Windows, ajoute encoding="utf-8" pour gérer les accents :
with open("notes.txt", "w", encoding="utf-8") as f:
f.write("Zazac et la fée Clochette ✨")
🧪 Quiz de validation
Réponds à toutes les questions. Il faut 70% de bonnes réponses pour valider le tuto !
🔒 Tu dois être connecté pour passer le quiz.