@@ -0,0 +1,70 @@ | |||||
\center \huge Lire et écrire des fichiers | |||||
# Rappel: lire | |||||
```python | |||||
file = open("toto.txt", "r") # 'r' comme 'read' | |||||
contenu = file.read() | |||||
file.close() | |||||
``` | |||||
Note: le fichier `toto.txt` doit exister! | |||||
# Écrire | |||||
On peut écrire tout le contenu d'un coup: | |||||
```python | |||||
contenu = "du texte à sauvegarder" | |||||
file = open("article.txt", "w") # 'w' comme 'write' | |||||
file.write(contenu) | |||||
file.close() | |||||
``` | |||||
* Le fichier `article.txt` sera écrasé s'il existe déjà. | |||||
* N'oubliez surtout pas d'appeler `close()` | |||||
# Que faire en cas d'erreur ? | |||||
```python | |||||
file = open("article.txt", "w") # 'w' comme 'write' | |||||
# ... beacoup de code ici | |||||
# ... < une erreur | |||||
file.close() | |||||
``` | |||||
S'il y a une erreur entre `open()` et `close()`, le fichier ne sera pas fermé! | |||||
# Le mot-clé with | |||||
```python | |||||
with open("toto.txt", "w") as file: | |||||
file.write("du texte") | |||||
``` | |||||
Quand on sort du bloc `with` on a la garantie que `file.close()` sera appelé, | |||||
*même* si on sort du bloc à cause d'une erreur. | |||||
# Convention | |||||
Il n'y a maintenant plus aucune raison d'appeler `.close()` "à la main", | |||||
donc ne le faites pas ... | |||||
# Lire et écrire des lignes | |||||
Très courant: | |||||
```python | |||||
with open("toto.txt", "r") as file: | |||||
lignes = file.readlines() | |||||
# faire quelque chose avec la liste de lignes | |||||
with open("toto.txt", "w") as file: | |||||
file.writelines(lignes) | |||||
``` | |||||
Pensez à fermer le premier fichier avant d'ouvrir le second. | |||||
(ça marche même s'ils ont le même nom) |
@@ -440,75 +440,3 @@ Il utilisait d'autres outils, bien sûr, mais ce qu'on va faire n'est pas si loi | |||||
# | # | ||||
# | # | ||||
\center \huge Lire et écrire des fichiers | |||||
# Rappel: lire | |||||
```python | |||||
file = open("toto.txt", "r") # 'r' comme 'read' | |||||
contenu = file.read() | |||||
file.close() | |||||
``` | |||||
Note: le fichier `toto.txt` doit exister! | |||||
# Écrire | |||||
On peut écrire tout le contenu d'un coup: | |||||
```python | |||||
contenu = "du texte à sauvegarder" | |||||
file = open("article.txt", "w") # 'w' comme 'write' | |||||
file.write(contenu) | |||||
file.close() | |||||
``` | |||||
* Le fichier `article.txt` sera écrasé s'il existe déjà. | |||||
* N'oubliez surtout pas d'appeler `close()` | |||||
# Que faire en cas d'erreur ? | |||||
```python | |||||
file = open("article.txt", "w") # 'w' comme 'write' | |||||
# ... beacoup de code ici | |||||
# ... < une erreur | |||||
file.close() | |||||
``` | |||||
S'il y a une erreur entre `open()` et `close()`, le fichier ne sera pas fermé! | |||||
# Le mot-clé with | |||||
```python | |||||
with open("toto.txt", "w") as file: | |||||
file.write("du texte") | |||||
``` | |||||
Quand on sort du bloc `with` on a la garantie que `file.close()` sera appelé, | |||||
*même* si on sort du bloc à cause d'une erreur. | |||||
# Convention | |||||
Il n'y a maintenant plus aucune raison d'appeler `.close()` "à la main", | |||||
donc ne le faites pas ... | |||||
# Lire et écrire des lignes | |||||
Très courant: | |||||
```python | |||||
with open("toto.txt", "r") as file: | |||||
lignes = file.readlines() | |||||
# faire quelque chose avec la liste de lignes | |||||
with open("toto.txt", "w") as file: | |||||
file.writelines(lignes) | |||||
``` | |||||
Pensez à fermer le premier fichier avant d'ouvrir le second. | |||||
(ça marche même s'ils ont le même nom) |