Maison > Article > développement back-end > Comment sérialiser et désérialiser des objets à l'aide de pickle et JSON en Python
Comment utiliser pickle et JSON en Python pour la sérialisation et la désérialisation d'objets
Python est un langage de programmation simple mais puissant qui est livré avec de nombreuses bibliothèques et modules utiles intégrés, permettant aux développeurs d'effectuer rapidement divers types de tâches. . Parmi eux, pickle et JSON sont deux modules couramment utilisés pour la sérialisation et la désérialisation d'objets. Cet article expliquera comment utiliser ces deux modules pour sérialiser et désérialiser des objets, et fournira des exemples de code détaillés.
pickle est un module en Python grâce auquel les objets peuvent être convertis en données binaires pour le stockage ou la transmission, et les données binaires peuvent également être restaurées dans l'objet d'origine.
Tout d'abord, nous devons importer le module pickle :
import pickle
Ensuite, nous pouvons utiliser la fonction dumps du module pickle pour sérialiser l'objet en données binaires :
data = {'name':'Tom', 'age': 25, 'city': 'New York'} serialized_data = pickle.dumps(data)
Après avoir utilisé la fonction dumps, la variable serialized_data enregistrera le données binaires sérialisées. Au contraire, nous pouvons utiliser la fonction loads pour restaurer les données binaires dans l'objet d'origine :
deserialized_data = pickle.loads(serialized_data) print(deserialized_data)
A ce moment, la variable deserialized_data sauvegardera l'objet d'origine restauré.
Voici un exemple complet montrant comment sérialiser et désérialiser un objet Person personnalisé :
import pickle class Person: def __init__(self, name, age): self.name = name self.age = age # 序列化对象 person = Person('Tom', 25) serialized_person = pickle.dumps(person) # 反序列化对象 deserialized_person = pickle.loads(serialized_person) print(deserialized_person.name) print(deserialized_person.age)
JSON est un format d'échange de données Level léger, facile à lire et à écrire. Python fournit le module json, qui peut facilement sérialiser et désérialiser les objets JSON.
Tout d'abord, nous devons importer le module json :
import json
Ensuite, nous pouvons utiliser la fonction dumps du module json pour sérialiser l'objet dans une chaîne JSON :
data = {'name':'Tom', 'age': 25, 'city': 'New York'} serialized_data = json.dumps(data)
Après avoir utilisé la fonction dumps, la variable serialized_data sera enregistrée la chaîne JSON sérialisée. Au contraire, nous pouvons utiliser la fonction loads pour restaurer la chaîne JSON dans l'objet d'origine :
deserialized_data = json.loads(serialized_data) print(deserialized_data)
A ce moment, la variable deserialized_data sauvegardera l'objet d'origine restauré.
De même, voici un exemple complet montrant comment sérialiser et désérialiser un objet Person personnalisé :
import json class Person: def __init__(self, name, age): self.name = name self.age = age # 序列化对象 person = Person('Tom', 25) serialized_person = json.dumps(person.__dict__) # 反序列化对象 deserialized_person = json.loads(serialized_person) print(deserialized_person['name']) print(deserialized_person['age'])
Résumé :
Avec les modules pickle et JSON, nous pouvons facilement effectuer la sérialisation et la désérialisation d'objets. Utilisez Pickle pour convertir des objets en données binaires, qui peuvent être utilisées pour le stockage de fichiers et la transmission réseau ; et JSON, en tant que format d'échange de données universel, peut facilement échanger des données avec d'autres langages. Selon les scénarios d'utilisation et les besoins spécifiques, nous pouvons choisir le module approprié pour effectuer les opérations de sérialisation et de désérialisation d'objets.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!