Maison >développement back-end >Tutoriel Python >Comment utiliser le module pickle pour la sérialisation d'objets dans Python 3.x

Comment utiliser le module pickle pour la sérialisation d'objets dans Python 3.x

PHPz
PHPzoriginal
2023-07-31 15:28:481106parcourir

Comment utiliser le module pickle pour la sérialisation d'objets dans Python 3.x

La sérialisation fait référence au processus de conversion d'objets en flux d'octets, tandis que la désérialisation est le processus de reconversion des flux d'octets en objets. Le module pickle en Python fournit un moyen pratique de sérialiser et de désérialiser des objets. Cet article explique comment utiliser le module pickle pour la sérialisation d'objets dans Python 3.x.

Tout d’abord, nous devons comprendre quelques concepts de base du cornichon. En Python, pickle peut sérialiser des objets Python arbitraires en un flux d'octets et peut désérialiser un flux d'octets en un objet. Cela signifie que nous pouvons utiliser pickle pour enregistrer des objets Python sur le disque et les recharger à partir du disque pour une utilisation ultérieure.

Ce qui suit est un exemple de code simple qui montre comment utiliser le module pickle pour sérialiser et désérialiser des objets :

import pickle

# 定义一个类
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

# 创建一个对象
person = Person("Alice", 25)

# 将对象保存到文件中
with open("person.pickle", "wb") as f:
    pickle.dump(person, f)

# 从文件中加载对象
with open("person.pickle", "rb") as f:
    person = pickle.load(f)

# 打印对象属性
print(person.name)
print(person.age)

Le code ci-dessus complète les étapes suivantes :

  1. Tout d'abord, nous définissons un fichier appelé classe Person, cette classe a deux attributs : nom et âge.
  2. Dans le code, nous créons un objet Person avec l'attribut name comme "Alice" et l'attribut age comme 25.
  3. Ensuite, nous utilisons la fonction dump() du module pickle pour sérialiser l'objet et l'enregistrer dans le fichier person.pickle. Le fichier est ouvert en mode binaire ("wb") pour les opérations d'écriture.
  4. Ensuite, nous utilisons la fonction load() du module pickle pour charger l'objet à partir du fichier person.pickle et le désérialiser. Le fichier est ouvert en mode binaire ("rb") pour les opérations de lecture.
  5. Enfin, nous imprimons les attributs de nom et d'âge de l'objet personne.

Exécutez le code ci-dessus et le résultat est le suivant :

Alice
25

Comme vous pouvez le voir, nous avons réussi à sérialiser et enregistrer l'objet Person dans le fichier, et à charger et désérialiser avec succès l'objet à partir du fichier.

Il convient de noter que le module pickle utilise des formats spécifiques à Python lors de la sérialisation et de la désérialisation. Par conséquent, si vous souhaitez sérialiser et désérialiser des objets entre différents langages, des problèmes de compatibilité peuvent survenir.

De plus, le module pickle possède d'autres fonctionnalités et options que vous pouvez explorer, telles que des fonctions de rappel qui prennent en charge la sérialisation et la désérialisation, les méthodes de sérialisation et de désérialisation personnalisées, etc.

Pour résumer, dans Python 3.x, utiliser le module pickle pour la sérialisation et la désérialisation d'objets est un moyen simple et pratique. Avec pickle, nous pouvons facilement enregistrer des objets Python sur le disque et les recharger pour les utiliser. J'espère que cet article vous aidera à comprendre comment utiliser le module pickle pour la 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!

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