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 fichierobjet.pkl
en mode écriture binaire (wb
).pickle.dump(obj, f)
: Sérialise l'objetobj
et l'écrit dans le fichier. Le fichier contiendra la version binaire de l'objet, exploitable uniquement par Python viapickle
.
Remarques
-
Format binaire : Le fichier
.pkl
n'est pas lisible directement. Il est destiné à être chargé dans un environnement Python. -
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)
-
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. -
Extensions de fichiers : Par convention, on utilise souvent
.pkl
ou.pickle
comme extension pour les fichiers sérialisés avecpickle
.