Enregistrer un objet avec pickle

pickle est un module Python qui permet de sérialiser (convertir en un format binaire) et de désérialiser (reconstruire l’objet) des objets Python complexes. En utilisant pickle, vous pouvez enregistrer un objet dans un fichier binaire et le récupérer plus tard. Cela est particulièrement utile pour sauvegarder des objets comme des modèles entraînés, des configurations ou des résultats de calculs.

Fonctions :

  • pickle

    Le module pickle permet de sérialiser un objet Python en un format binaire pour le sauvegarder dans un fichier. Cela permet de conserver l'état d'un objet (modèle, liste, dictionnaire, etc.) et de le réutiliser plus tard en le rechargeant, sans avoir à le recalculer ou le recréer.

    Importation :

    import pickle

    Attributs :

    Paramètre Description
    obj L'objet Python à enregistrer (liste, dict, modèle, etc.)
    file (fichier) Le chemin du fichier de destination (ouvert en mode binaire 'wb')
    pickle.dump() Fonction qui écrit l'objet sérialisé dans le fichier

    Exemple de code :

    import pickle
    
    # Exemple d'objet à sauvegarder
    obj = {'nom': 'Alice', 'age': 30, 'ville': 'Paris'}
    
    # Sérialisation et sauvegarde de l'objet dans un fichier binaire
    with open('objet.pkl', 'wb') as f:
        pickle.dump(obj, f)

    Explication du code :

    • with open('objet.pkl', 'wb') as f: : Ouvre (ou crée) le fichier objet.pkl en mode écriture binaire (wb).
    • pickle.dump(obj, f) : Sérialise l'objet obj et l'écrit dans le fichier. Le fichier contiendra la version binaire de l'objet, exploitable uniquement par Python via pickle.

    Remarques

    1. Format binaire : Le fichier .pkl n'est pas lisible directement. Il est destiné à être chargé dans un environnement Python.

    2. Performance : pickle est rapide et simple pour des objets Python natifs. Il supporte :

      • Les types de base (list, dict, int, str)
      • Les classes personnalisées
      • Les modèles de machine learning (exemple : scikit-learn)
    3. Sécurité : Ne jamais ouvrir un fichier .pkl provenant d'une source non fiable. pickle peut exécuter du code malveillant durant la désérialisation.

    4. Extensions de fichiers : Par convention, on utilise souvent .pkl ou .pickle comme extension pour les fichiers sérialisés avec pickle.