Better text python JSON

This commit is contained in:
Quentin Dufour 2017-01-22 22:42:21 +01:00
parent a5b40b3817
commit 0ed7f75ff5
1 changed files with 15 additions and 10 deletions

View File

@ -39,14 +39,15 @@ Pas très pratique, mais il doit bien y avoir une solution !
## Ecrivons la liste des livres dans un fichier
La solution est donc d'écrire la liste des livres dans un fichier.
Oui, mais c'est pas si simple. Comment je vais faire ?
Je vais séparer mes livres par des virgules ? Si mon titre contient une virgule, que va t'il se passer ?
Un livre sur chaque ligne alors ? Et si on veut rajouter d'autres informations après ?
Oui, mais c'est pas si simple.
Mais ça veut dire que l'on va devoir écrire une fonction qui va convertir notre tableau en une chaine de caractère que l'on va enregistrer dans notre fichier,
ainsi qu'une autre fonction qui va lire une chaine de caractère d'un fichier et la transformer en fichier.
* Comment je vais faire ?
* Séparer mes livres par des virgules ?
* Si mon titre contient une virgule, que va t'il se passer ?
* Un livre sur chaque ligne alors ?
* Et si on veut rajouter d'autres informations après ? Comme l'auteur ?
Dans notre cas, c'est plutot simple mais ça peut vite se complexifier :
Avec juste un titre, c'est plutot simple, on écrit un titre par ligne :
```python
import os
@ -92,7 +93,9 @@ while True:
* On doit convertir notre variable (tableau, dictionnaire) en chaine de caractère
* On doit écrire ou lire un fichier
## Un modèle plus compliqué, impossible de convertir à la main le tableau en chaine de caractère
La deuxième partie est simple et ne change pas, mais la première semble assez bancale.
## Si on complexifie, ça ne marche plus
Imaginons qu'à la place d'un simple titre, on veuille stocker plus d'informations :
@ -109,9 +112,11 @@ while True:
```
On devrait alors modifier les parties conversions des fonctions charger et sauvegarder.
Mais est-ce que l'ordinateur ne pourrait pas de lui-même convertir notre tableau en texte ?
Oui, on appelle ça sérializer et déserializer des données (magnifique anglicisme au passage).
Et JSON est une manière de faire ça, de convertir un tableau, un dictionnaire python, etc. en texte et vice-versa.
Et ces dernières deviendraient vraiment compliquées.
*Mais est-ce que l'ordinateur ne pourrait pas de lui-même convertir notre tableau en texte ?*
Oui, on appelle ça sérializer et déserializer des données (magnifique anglicisme au passage). Et JSON est une manière de faire ça, de convertir un tableau, un dictionnaire python, etc. en texte et vice-versa.
## Découvrons JSON