Avis

Comment utiliser Pickle pour sauvegarder des objets en Python

Comment utiliser Pickle pour sauvegarder des objets en Python


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Pickle, qui fait partie de la bibliothèque Python par défaut, est un module important chaque fois que vous avez besoin de persistance entre les sessions utilisateur. En tant que module, pickle permet l'enregistrement des objets Python entre les processus.

Que vous programmiez une base de données, un jeu, un forum ou une autre application devant enregistrer des informations entre les sessions, pickle est utile pour enregistrer des identificateurs et des paramètres. Le module pickle peut stocker des éléments tels que des types de données tels que des booléens, des chaînes et des tableaux d'octets, des listes, des dictionnaires, des fonctions, etc.

Remarque: Le concept de décapage est également connu sous le nom de sérialisation, marshaling et aplatissement. Cependant, le point est toujours le même: enregistrer un objet dans un fichier pour le récupérer ultérieurement. Pickling accomplit cela en écrivant l'objet sous forme d'un long flux d'octets.

Exemple de code Pickle en Python

Pour écrire un objet dans un fichier, vous utilisez un code dans la syntaxe suivante:

pickle d'importation
objet = objet ()
gestionnaire de fichiers = ouvert (nom du fichier, 'w')
pickle.dump (objet, gestionnaire de fichiers)

Voici à quoi ressemble un exemple concret:

pickle d'importation
importer des maths
object_pi = math.pi
file_pi = open ('filename_pi.obj', 'w')
pickle.dump (object_pi, file_pi)

Cet extrait écrit le contenu de object_pi au dossier gestionnaire file_pi, qui à son tour est lié au fichier filename_pi.obj dans le répertoire d'exécution.

Pour restaurer la valeur de l'objet en mémoire, chargez-le à partir du fichier. En supposant que ce cornichon n’ait pas encore été importé, commencez par l’importer:

pickle d'importation
gestionnaire de fichiers = ouvert (nom du fichier, 'r')
object = pickle.load (gestionnaire de fichiers)

Le code suivant restaure la valeur de pi:

pickle d'importation
file_pi2 = open ('filename_pi.obj', 'r')
object_pi2 = pickle.load (file_pi2)

L’objet est à nouveau prêt à être utilisé, cette fois-ci object_pi2. Vous pouvez bien sûr réutiliser les noms d'origine, si vous préférez. Cet exemple utilise des noms distincts pour plus de clarté.

Choses à retenir sur Pickle

Gardez ces points à l’esprit lorsque vous utilisez le module pickle:

  • Le protocole de pickle est spécifique à Python - la compatibilité inter-langage n'est pas garantie. Il est fort probable que vous ne puissiez pas transférer les informations pour les rendre utiles en Perl, PHP, Java ou d’autres langages.
  • Il n’existe aucune garantie de compatibilité entre les différentes versions de Python. L'incompatibilité existe car toutes les structures de données Python ne peuvent pas être sérialisées par le module.
  • Par défaut, la dernière version du protocole de pickle est utilisée. Cela reste ainsi sauf si vous le modifiez manuellement.

Pointe: Découvrez également comment utiliser shelve pour enregistrer des objets en Python pour une autre méthode permettant de maintenir la continuité des objets.


Voir la vidéo: Python #19 - fichiers (Novembre 2022).

Video, Sitemap-Video, Sitemap-Videos