Maison >développement back-end >Tutoriel Python >Comment utiliser la sérialisation et la désérialisation en Python

Comment utiliser la sérialisation et la désérialisation en Python

WBOY
WBOYoriginal
2023-10-16 08:17:082126parcourir

Comment utiliser la sérialisation et la désérialisation en Python

Comment utiliser la sérialisation et la désérialisation en Python, des exemples de code spécifiques sont nécessaires

La sérialisation et la désérialisation sont des concepts très importants dans le processus de stockage et de transmission de données. En Python, nous pouvons utiliser le module pickle pour implémenter des opérations de sérialisation et de désérialisation. Cet article détaillera comment utiliser le module pickle en Python pour la sérialisation et la désérialisation, et fournira des exemples de code spécifiques.

La sérialisation est le processus de conversion d'objets dans un format pouvant être stocké ou transmis. En Python, la façon de sérialiser un objet dans un flux d'octets est très simple, il suffit d'utiliser la fonction dump() dans le module pickle. Voici un exemple de code :

import pickle

# 创建一个字典对象
data = {"name": "Alice", "age": 25, "city": "Shanghai"}

# 序列化并保存到文件
with open("data.pkl", "wb") as f:
    pickle.dump(data, f)

Dans le code ci-dessus, nous créons un objet de dictionnaire de données et utilisons la fonction pickle.dump() pour le sérialiser dans un flux d'octets et l'enregistrer dans un fichier nommé data.pkl.

La désérialisation est le processus de reconversion du flux d'octets sérialisé en objet d'origine. En Python, vous pouvez utiliser la fonction load() dans le module pickle pour implémenter des opérations de désérialisation. Voici un exemple de code :

import pickle

# 从文件中加载序列化的字节流
with open("data.pkl", "rb") as f:
    loaded_data = pickle.load(f)

# 打印反序列化后的对象
print(loaded_data)

Dans le code ci-dessus, nous utilisons la fonction pickle.load() pour charger le flux d'octets sérialisé à partir du fichier data.pkl et le désérialiser dans l'objet d'origine. Enfin, nous imprimons l'objet désérialisé.

De plus, pickle fournit également les fonctions dumps() etloads() pour les opérations de sérialisation et de désérialisation en mémoire plutôt que via des fichiers. Voici un exemple de code :

import pickle

# 创建一个字典对象
data = {"name": "Alice", "age": 25, "city": "Shanghai"}

# 在内存中进行序列化
serialized_data = pickle.dumps(data)

# 在内存中进行反序列化
deserialized_data = pickle.loads(serialized_data)

# 打印反序列化后的对象
print(deserialized_data)

Dans le code ci-dessus, nous utilisons la fonction pickle.dumps() pour sérialiser les données de l'objet du dictionnaire et enregistrer le résultat dans la variable serialized_data. Nous utilisons ensuite la fonction pickle.loads() pour charger le flux d'octets sérialisé à partir de Serialized_data et le désérialiser dans l'objet d'origine. Enfin, nous imprimons l'objet désérialisé.

Il s'agit de l'opération de base de sérialisation et de désérialisation à l'aide du module pickle en Python. Grâce à la sérialisation et à la désérialisation, nous pouvons transférer des objets entre différentes applications ou réseaux, ou enregistrer des objets dans des fichiers pour une utilisation ultérieure. Dans les applications pratiques, nous pouvons choisir la méthode appropriée pour effectuer des opérations de sérialisation et de désérialisation en fonction de besoins et de scénarios spécifiques.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn