Compare commits

...

3 commits

3 changed files with 23 additions and 4 deletions

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

View file

@ -26,6 +26,10 @@ Le tout dans un répertoire avec le nom suivant `YYYY-MM-DD_TPX_NOM1_Prenom1_NOM
### Résultats attendus
- [ ] Le programme se lance sans erreur.
- [ ] La fonction `get_word_list_from_file` retourne une liste de mots tirée du fichier `wordlist_fr.txt`
- [ ] La fonction `write_password_in_file` écrit le mot de passe généré à la fin d'un fichier sans écraser son contenu précédent
- [ ] La fonction `tirer_les_des` tire cinq valeurs aléatoires entre 1 et 6 et les concatène dans une chaîne de caractères qu'elle retourne
- [ ] La fonction `generer_dice_passphrase` génère une passphrase aléatoire à l'aide d'un tirage de dés et la retourne
- [ ] Chaque fonction contient une docstring minimale expliquant sa fonctionnalité. Bonus : Doctsrings complètes au format Numpy.
- [ ] Le code est propre, correctement formaté, les variables, fonctions et paramètres sont bien nommés, les conventions sont respectées.

View file

@ -35,6 +35,7 @@
- [TP1 - Bases de Python](./CIEL2/01-revisions-python/tp/tp1_bases.md)
- [TP1b - Mise en pratique](./CIEL2/01-revisions-python/tp/tp1bis_mise_en_pratique.md)
- [TP2 - Fonctions](./CIEL2/01-revisions-python/tp/tp2-fonctions.md)
- [TP3 - Fichiers et structures de données](./CIEL2/01-revisions-python/tp/tp3-fichiers-structures-de-données.md)
- [TP Git](./CIEL2/04-git/tp.md)
- [Python objet](./CIEL2/02-python-objet/python-objet.md)
- [Bases de données](./CIEL2/03-base-de-donnees/bases-de-donnees.md)