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. 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

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 ### Résultats attendus
- [ ] Le programme se lance sans erreur. - [ ] 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. - [ ] 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. - [ ] 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) - [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) - [TP1b - Mise en pratique](./CIEL2/01-revisions-python/tp/tp1bis_mise_en_pratique.md)
- [TP2 - Fonctions](./CIEL2/01-revisions-python/tp/tp2-fonctions.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) - [TP Git](./CIEL2/04-git/tp.md)
- [Python objet](./CIEL2/02-python-objet/python-objet.md) - [Python objet](./CIEL2/02-python-objet/python-objet.md)
- [Bases de données](./CIEL2/03-base-de-donnees/bases-de-donnees.md) - [Bases de données](./CIEL2/03-base-de-donnees/bases-de-donnees.md)