Ajoute la description du mode binaire dans le cours sur les fichiers

This commit is contained in:
Alexis Fourmaux 2025-09-27 12:02:19 +02:00
parent 1959849103
commit 87e1bbb160

View file

@ -19,10 +19,11 @@ fichier = open('nom_du_fichier.txt', 'mode', encoding='utf-8')
Le mode d'ouverture permet de savoir quelles actions vous souhaitez (et pourrez) faire avec votre fichier.
- `'r'` : lecture (read)
- `'w'` : écriture (write) - écrase le contenu existant
- `'a'` : ajout (append) - ajoute à la fin du fichier
- `'x'` : création uniquement (erreur si le fichier existe)
- `'r'` : lecture seule (**r**ead only) : on démarre au début du fichier, erreur si le fichier n'existe pas
- `'w'` : écriture (**w**rite) : on démarre au début du fichier, écrase le contenu, crée le fichier au besoin
- `'a'` : ajout (**a**ppend) : on démarre à la fin du fichier, crée le fichier si besoin
- `'x'` : création uniquement (e**x**clusive) : échoue si le fichier existe déjà
- les versions `+` (ex.: `'r+'`, `'w+'`, `'a+'`, `'x+'`) ajoutent la possibilité de lire et écrire simultanément dans le fichier.
```admonish example title="Exemple"
~~~python
@ -30,6 +31,19 @@ fichier = open('exemple.txt', 'r', encoding='utf-8')
~~~
```
#### Mode binaire
Les modes listés au dessus ouvrent les fichiers par défaut en **mode texte**. Dans ce cas, Python interprète les données comme des chaînes de caractères (`str`) et gère la conversion d'encodage (par exemple, `utf-8`).
Pour manipuler des **données brutes** (images, fichiers audio, etc.), il faut utiliser le **mode binaire** en ajoutant le caractère `'b'` :
- `'rb'` : lecture binaire
- `'wb'` : écriture binaire
- `'ab'` : ajout binaire
- combiné avec `+` pour lecture/écriture binaire, comme `'rb+'`, `'wb+'`, `'ab+'`
En mode binaire, Python lit et écrit des objets de type `bytes` et ne fait aucune conversion dencodage ni adaptation de fin de ligne : les octets lus et écrits sont strictement identiques à ceux stockés sur le disque.
## Fermer un fichier