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. Le mode d'ouverture permet de savoir quelles actions vous souhaitez (et pourrez) faire avec votre fichier.
- `'r'` : lecture (read) - `'r'` : lecture seule (**r**ead only) : on démarre au début du fichier, erreur si le fichier n'existe pas
- `'w'` : écriture (write) - écrase le contenu existant - `'w'` : écriture (**w**rite) : on démarre au début du fichier, écrase le contenu, crée le fichier au besoin
- `'a'` : ajout (append) - ajoute à la fin du fichier - `'a'` : ajout (**a**ppend) : on démarre à la fin du fichier, crée le fichier si besoin
- `'x'` : création uniquement (erreur si le fichier existe) - `'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" ```admonish example title="Exemple"
~~~python ~~~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 ## Fermer un fichier