Introduction
Bienvenue à l'Académie supranationale pour les talents doués (SAG), un lieu où ceux qui possèdent des capacités extraordinaires viennent affiner leurs compétences. Dans cette sainte demeure du savoir, vous êtes l'un des individus uniques doté(e) du pouvoir de manipuler et d'interpréter des structures de données complexes. Votre mission, si vous la choisissez d'accepter, consiste à relever un défi passionnant posé par le professeur Bytes, le prestigieux Spécialiste du contrôle mental de l'académie.
Le professeur Bytes a été travaillant sur un projet révolutionnaire qui permet la communication télépathique entre les humains et les machines. Cependant, le cœur de ce projet réside dans la capacité à traduire efficacement les pensées, structurées en motifs complexes, en un format que les machines non psychiques peuvent traiter. C'est là que la sérialisation de données en Python entre en jeu.
Votre objectif est de maîtriser l'art de la sérialisation et de la désérialisation de données : convertir des objets Python en un flux binaire qui peut être stocké ou transmis puis reconstruire ce flux binaire en objets. Cette compétence permettra aux machines d'interpréter les flux de données psychiques, reliant ainsi l'esprit humain et les processeurs numériques. L'avenir de la symbiose homme-machine est entre vos mains!
Comprendre la sérialisation avec JSON
Dans cette étape, vous allez vous familiariser avec le module json de Python, qui fournit une interface simple pour convertir entre des objets Python et le format JSON (JavaScript Object Notation) - un format léger d'échange de données.
Tout d'abord, vous allez ouvrir un script Python nommé serialize.py dans le répertoire ~/project qui sérialisera un objet Python en une chaîne JSON.
Écrivez le code suivant dans serialize.py :
## serialize.py
import json
data = {
'name': 'Professor Bytes',
'ability': 'Telepathy',
'is_human': True,
'data_analysis_scores': [88, 92, 79]
}
with open('/home/labex/project/data.json', 'w') as json_file:
json.dump(data, json_file)
print("Data serialized to 'data.json'")
Exécutez ce script dans votre terminal en vous rendant dans le répertoire ~/project et en exécutant la commande :
python serialize.py
Ensuite, examinez le contenu de data.json pour confirmer que vos données ont été sérialisées correctement :
cat data.json
Vous devriez voir la représentation JSON de votre objet Python :
{"name": "Professor Bytes", "ability": "Telepathy", "is_human": true, "data_analysis_scores": [88, 92, 79]}
Maîtriser la désérialisation avec JSON
Ayant réussi la sérialisation, il est maintenant temps de convertir le fichier JSON en retour en un objet Python. Ce processus est appelé désérialisation.
Ouvrez deserialize.py dans le répertoire ~/project avec le code suivant :
## deserialize.py
import json
with open('/home/labex/project/data.json', 'r') as json_file:
data = json.load(json_file)
print("Name:", data['name'])
print("Ability:", data['ability'])
print("Is Human:", data['is_human'])
print("Data Analysis Scores:", data['data_analysis_scores'])
Exécutez le script de désérialisation dans votre terminal :
python deserialize.py
La sortie devrait afficher le contenu qui a été précédemment sérialisé dans data.json :
Name: Professor Bytes
Ability: Telepathy
Is Human: True
Data Analysis Scores: [88, 92, 79]
Résumé
Dans ce laboratoire, vous avez approfondi les bases de la sérialisation de données à l'aide de Python, une compétence précieuse pour les programmeurs Python dans cette ère numérique. Vous avez exploré le processus de conversion d'objets Python au format JSON et vice versa, apprenant à interfacer de manière transparente entre des structures de données complexes et une forme interprétable par les machines. Ces étapes sont fondamentales pour l'échange et le stockage de données dans les applications modernes, et maîtriser ces concepts est un pas déterminant vers l'obtention d'un niveau de compétence avancé en tant que développeur Python. Grâce à cette nouvelle compétence, vous avez non seulement renforcé vos propres capacités, mais également contribué à l'ensemble de l'Académie supranationale pour les talents doués (SAG) dans sa quête d'un avenir où les humains et les machines pourront communiquer sans entraves. Vos réalisations d'aujourd'hui marquent une étape importante dans l'évolution de l'interaction homme-machine. Félicitations, jeune initié!



