Dans ce tutoriel, nous discuterons de l’exemple de Python Pickle. Dans notre précédent tutoriel, nous avons discuté de la multitraitement en Python.
Pickle en Python
Python Pickle est utilisé pour sérialiser
et désérialiser
une structure d’objet Python. Tout objet en Python peut être mis en conserve (pickled) afin qu’il puisse être enregistré sur disque. Tout d’abord, Python pickle sérialise l’objet, puis convertit l’objet en un flux de caractères de sorte que ce flux de caractères contienne toutes les informations nécessaires pour reconstruire l’objet dans un autre script Python. Notez que le module pickle n’est pas sécurisé contre les données erronées ou malicieusement construites selon la documentation. Donc, ne désérialisez jamais les données reçues d’une source non fiable ou non authentifiée.
Python Pickle dump
Dans cette section, nous allons apprendre comment stocker des données en utilisant Python pickle. Pour ce faire, nous devons d’abord importer le module pickle. Ensuite, utilisez la fonction pickle.dump()
pour stocker les données de l’objet dans le fichier. La fonction pickle.dump()
prend 3 arguments. Le premier argument est l’objet que vous souhaitez stocker. Le deuxième argument est l’objet de fichier que vous obtenez en ouvrant le fichier désiré en mode write-binary
(wb). Et le troisième argument est l’argument clé-valeur. Cet argument définit le protocole. Il existe deux types de protocole – pickle.HIGHEST_PROTOCOL et pickle.DEFAULT_PROTOCOL. Voir le code d’exemple pour savoir comment utiliser pickle pour stocker des données.
import pickle
# prendre l'entrée de l'utilisateur pour obtenir la quantité de données
number_of_data = int(input('Enter the number of data : '))
data = []
# prendre l'entrée des données
for i in range(number_of_data):
raw = input('Enter data '+str(i)+' : ')
data.append(raw)
# ouvrir un fichier où vous voulez stocker les données
file = open('important', 'wb')
# enregistrer les informations dans ce fichier
pickle.dump(data, file)
# fermer le fichier
file.close()
Le programme suivant vous demandera d’entrer une certaine entrée. Dans mon cas, c’était comme ceci.
Chargement de Python Pickle
Pour récupérer des données picklées, les étapes sont assez simples. Vous devez utiliser la fonction pickle.load()
pour cela. L’argument principal de la fonction de chargement pickle est l’objet fichier que vous obtenez en ouvrant le fichier en mode lecture binaire (rb). Simple ! N’est-ce pas ? Écrivons le code pour récupérer les données que nous avons picklées en utilisant le code de vidage pickle. Voyez le code suivant pour comprendre.
import pickle
# Ouvrez un fichier où vous avez stocké les données picklées
file = open('important', 'rb')
# Déposez les informations dans ce fichier
data = pickle.load(file)
# Fermez le fichier
file.close()
print('Showing the pickled data:')
cnt = 0
for item in data:
print('The data ', cnt, ' is : ', item)
cnt += 1
La sortie sera la suivante :
Showing the pickled data:
The data 0 is : 123
The data 1 is : abc
The data 2 is : !@#$
Exemple de Pickle Python
I made a short video showing execution of python pickle example programs – first to store data into file and then to load and print it. As you can see that the file created by python pickle dump is a binary file and shows garbage characters in the text editor.
Notes importantes sur le Pickle Python
Quelques points importants sur le module pickle Python sont :
- Le protocole pickle est spécifique à Python – il n’est pas garanti d’être compatible entre langages. Cela signifie que vous ne pouvez probablement pas transférer les informations pour les rendre utiles dans d’autres langages de programmation.
- Il n’y a également aucune garantie de compatibilité entre différentes versions de Python car toutes les structures de données Python ne peuvent pas être sérialisées par le module.
- La dernière version du protocole pickle est utilisée par défaut à moins que vous ne la changiez manuellement.
- Enfin, le module pickle n’est pas sécurisé contre les données erronées ou malicieusement construites selon la documentation.
Donc, voilà tout sur l’exemple de pickle en Python. J’espère que vous avez bien compris. Pour toute autre question, veuillez utiliser la section des commentaires. 🙂 Référence: Documentation officielle
Source:
https://www.digitalocean.com/community/tutorials/python-pickle-example