Comment enregistrer des objets en Python à l'aide de Pickle

藏色散人
Libérer: 2019-01-18 09:29:47
original
3208 Les gens l'ont consulté

Pickle fait partie de la bibliothèque Python par défaut et constitue un module important chaque fois que vous avez besoin de persistance entre les sessions utilisateur. En tant que module, pickle fournit des fonctionnalités permettant de sauvegarder des objets Python entre les processus.

Comment enregistrer des objets en Python à l'aide de Pickle

Que vous programmiez pour une base de données, un jeu, un forum ou une autre application où des informations doivent être enregistrées entre les sessions, pickle permet d'enregistrer les identifiants et les paramètres. Le module pickle peut stocker des types de données tels que des valeurs booléennes, des chaînes et des tableaux d'octets, des listes, des dictionnaires, des fonctions, etc.

Remarque : le concept de cornichon est également connu sous le nom de sérialisation, marshaling et aplatissement. Cependant, la clé est toujours la même : enregistrez l'objet dans un fichier pour une récupération ultérieure. pickle y parvient en écrivant l'objet dans un long flux d'octets.

Exemple de code Pickle en Python

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

import pickle 
object = Object() 
filehandler = open(filename, 'w') 
pickle.dump(object, filehandler)
Copier après la connexion

Voici un exemple concret :

import pickle 
import math 
object_pi = math.pi 
file_pi = open('filename_pi.obj', 'w') 
pickle.dump(object_pi, file_pi)
Copier après la connexion

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

Pour restaurer la valeur d'un objet en mémoire, chargez l'objet à partir d'un fichier. En supposant que le cornichon n'a pas été importé pour être utilisé, importez-le d'abord :

import pickle 
filehandler = open(filename, 'r') 
object = pickle.load(filehandler)
Copier après la connexion

Le code suivant restaure la valeur de pi :

import pickle 
file_pi2 = open('filename_pi.obj', 'r') 
object_pi2 = pickle.load(file_pi2)
Copier après la connexion

Ensuite, l'objet est à nouveau prêt à être utilisé, cette fois object_pi2. Bien entendu, vous pouvez réutiliser le nom d’origine si vous le souhaitez. Cet exemple utilise des noms différents pour plus de clarté.

À propos de Pickle

Veuillez garder les points suivants à l'esprit lorsque vous utilisez le module pickle :

Le protocole pickle est spécifique à Python - il n'est pas garanti qu'il soit multilingue compatible. Vous ne pourrez probablement pas transférer les informations pour les rendre utiles en Perl, PHP, Java ou d'autres langages.

La compatibilité n'est pas garantie 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 pickle est utilisée. À moins que vous ne le modifiiez manuellement, cela reste ainsi.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal