Text files · Fichiers texte
Why files?
- Variables vanish when a program ends. A file keeps data on disk.
- Files let you save results and read them back later.
- They also hold more data than you would type by hand.
Pourquoi les fichiers ?
- Les variables disparaissent quand un programme se termine. Un fichier conserve les données sur le disque.
- Les fichiers permettent de sauvegarder des résultats et de les relire plus tard.
- Ils contiennent aussi plus de données que ce que vous taperiez manuellement.
Open, use, close
open(name, mode)opens a file. The mode says what you will do."r"reads,"w"writes a fresh file (replacing any old text),"a"adds to the end.- Every file you open must be closed when you finish.
Ouvrir, utiliser, fermer
open(name, mode)ouvre un fichier. Le mode indique ce que vous allez faire."r"lit,"w"écrit un nouveau fichier (remplaçant tout texte ancien),"a"ajoute à la fin.- Tout fichier ouvert doit être fermé lorsque vous avez terminé.
The with block
with open(...) as f:opens the file and closes it for you.- All the work goes in the indented block.
- This is the safest way — the file is never left open.
Le bloc with
with open(...) as f:ouvre le fichier et le ferme pour vous.- Tout le travail se fait dans le bloc indenté.
- C'est la méthode la plus sûre — le fichier n'est jamais laissé ouvert.
with open("greeting.txt", "w") as f:
f.write("Hi there\n")
with open("greeting.txt", "r") as f:
print(f.read())
Reading the lines
f.read()returns the whole file as one string.for line in f:reads it one line at a time.- Each line keeps its newline, so use
line.strip()to remove it.
Lire les lignes
f.read()retourne le tout fichier comme une seule chaîne.for line in f:le lit ligne par ligne.- Chaque ligne garde son caractère de nouvelle ligne, donc utilisez
line.strip()pour l'enlever.
with open("fruit.txt", "w") as f:
f.write("apple\npear\n")
with open("fruit.txt", "r") as f:
for line in f:
print(line.strip())
In Cambridge pseudocode
- The exam uses
OPENFILE,WRITEFILE,READFILE, andCLOSEFILE.
En pseudocode Cambridge
- L'examen utilise
OPENFILE,WRITEFILE,READFILEetCLOSEFILE.
OPENFILE "notes.txt" FOR WRITE
WRITEFILE "notes.txt", "Hello"
CLOSEFILE "notes.txt"
OPENFILE "notes.txt" FOR READ
READFILE "notes.txt", line
CLOSEFILE "notes.txt"
OUTPUT line
Common mistakes
- Use
with open(...) as f:so the file closes itself. "w"erases the file first;"a"adds to the end.
Erreurs courantes
- Utilisez
with open(...) as f:pour que le fichier se ferme lui-même. "w"efface le fichier d'abord ;"a"ajoute à la fin.
Now you try
- This playground keeps files between runs, so write the file first, then read it in the same task.
- Press Check answer to test your code.
À vous maintenant
- Ce playground conserve les fichiers entre les exécutions, donc écrivez le fichier d'abord, puis lisez-le dans la même tâche.
- Appuyez sur Vérifier la réponse pour tester votre code.
Reading a file · Lire un fichier
A file is used in three steps: open, read, close. · Un fichier s'utilise en trois étapes : open, read, close.
In one run: write the two lines Hello and · et World to a file called notes.txt, then open it again, read it, and print what you read. · En une exécution : écrivez les deux lignes Hello et World dans un fichier nommé notes.txt, puis rouvrez-le, lisez-le, et print ce que vous avez lu.
Click Run to see the output here. · Cliquez sur Exécuter pour voir le résultat ici.
Write three lines to a file, then read it back and count the lines with a loop. Store the count in count (the answer is 3). · Écrivez trois lignes dans un fichier, puis relisez-le et comptez les lignes avec une boucle. Stockez le compteur dans count (la réponse est 3).
Click Run to see the output here. · Cliquez sur Exécuter pour voir le résultat ici.
Write the numbers 10, 20, 30 to a file, one per line. Then read them back, convert each line with int(...), and add them up in total (the answer is 60). · Écrivez les nombres 10, 20, 30 dans un fichier, un par ligne. Ensuite, lisez-les, convertissez chaque ligne avec int(...), et additionnez-les dans total (la réponse est 60).
Click Run to see the output here. · Cliquez sur Exécuter pour voir le résultat ici.