Exercice 28 / 100

Écriture de fichier

Écris la liste `noms = ['Alice', 'Bob', 'Charlie']` dans un fichier 'noms.txt', un nom par ligne

Pour écrire une liste de valeurs dans un fichier, on combine open en mode 'w' et une boucle for.

Rappel des modes

'w' → écrase le fichier (ou le crée s'il n'existe pas) 'a' → ajoute à la suite (sans écraser)
Le mode w écrase tout le contenu existant, le mode a écrit à la suite sans rien effacer : c'est ce qui sépare un export d'un journal

Écrire ligne par ligne

noms = ['Alice', 'Bob', 'Charlie']
with open('/tmp/noms.txt', 'w') as f: for nom in noms: f.write(nom + '\n') # ⚠ \n indispensable pour passer à la ligne

f.write() prend uniquement une chaîne de caractères. Pour des nombres :

f.write(str(42) + '\n')

Écrire tout d'un coup avec writelines

f.writelines(liste_de_strs)

writelines n'ajoute pas de \n entre les éléments. Si tu veux des sauts de ligne, ajoute-les toi-même.

lignes = [n + '\n' for n in noms] with open('/tmp/noms.txt', 'w') as f: f.writelines(lignes)

Équivalent plus court avec join :

with open('/tmp/noms.txt', 'w') as f: f.write('\n'.join(noms)) # pas de \n final

Mode append : ajouter sans écraser

with open('/tmp/log.txt', 'a') as f: f.write('Nouvelle ligne\n')

Utile pour un fichier de log : chaque exécution ajoute, n'efface pas l'historique.

exercise.py

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