Charger un objet avec pickle
Avec pickle, vous pouvez désérialiser un objet précédemment sauvegardé (convertir le format binaire en un objet Python original) en utilisant la fonction pickle.load(). Cela permet de récupérer un objet Python depuis un fichier et de l’utiliser dans votre programme. Cela est utile pour restaurer des objets comme des modèles, des configurations ou d’autres données enregistrées.
Fonctions :
-
Charger un objet avec pickle
Le module pickle permet également de désérialiser un objet, c'est-à-dire de reconstruire l'objet Python à partir d'un fichier binaire qui a été précédemment sérialisé. Une fois désérialisé, l'objet peut être utilisé comme s'il avait été créé normalement dans le code.
Importation :
import pickleAttributs :
Paramètre Type Description Valeur par défaut filefile-like object Le chemin du fichier contenant l'objet sérialisé (ouvert en mode binaire 'rb').Noneobjobject L'objet Python récupéré après désérialisation. Nonepickle.load()function Fonction qui lit et désérialise l'objet depuis le fichier. NoneExemple de code :
import pickle # Chargement de l'objet depuis un fichier with open('objet.pkl', 'rb') as f: obj = pickle.load(f) print(obj)Explication du code :
with open('objet.pkl', 'rb') as f:: Ouvre le fichierobjet.pklen mode lecture binaire (rb).obj = pickle.load(f): Charge et désérialise l'objet à partir du fichierf. L'objet récupéré est exactement celui qui avait été sérialisé précédemment.print(obj): Affiche l'objet chargé pour vérifier son contenu.
Remarques
-
Dépendance du format : Le fichier doit être dans le format binaire créé avec
pickle.dump(). Si tu utilises un autre format ou un autre type de sérialisation (comme JSON), cela ne fonctionnera pas. -
Sécurité : Ne jamais désérialiser un fichier
pickleprovenant d'une source non fiable, car cela pourrait exécuter du code malveillant. -
Compatibilité : Si tu ouvres un fichier
picklesérialisé avec une version plus récente de Python dans une version antérieure, cela pourrait échouer. Il est donc recommandé d'utiliser une version depicklecompatible lors de la sérialisation et de la désérialisation.