Comment picorer des objets en python

Comment picorer des objets en python
Toutes les données peuvent être sérialisées et désérialisées dans Python en utilisant le module JSON et Pickle. Avant de stocker des données dans un fichier, les objets Python sont sérialisés à l'aide du module Pickle. Les objets Python sont convertis en flux de caractères en utilisant ce module. Lorsque l'utilisateur souhaite récupérer les données du fichier pour l'utilisation d'un autre script Python, les données du fichier sont désérialisées par module Pickle. Les caractéristiques du module Pickle et comment ce module peut être utilisé dans le script Python pour la sérialisation et la désérialisation est décrit dans ce tutoriel.

Fonctionnalités de cornichon:

  • Il est principalement conçu pour utiliser pour Python Script.
  • Il est utilisé pour enregistrer les objets Python entre les processus.
  • Il garde une trace de tous les objets sérialisés et l'objet qui est sérialisé auparavant ne sérialisera plus.
  • Il peut enregistrer et restaurer l'instance de classe de manière transparente.
  • Il n'est pas sécurisé à utiliser. Donc, il n'est pas préférable de débarrasser les données d'une source inconnue.

Dump () pour la sérialisation:

La fonction Dump () est utilisée pour convertir les données de l'objet en flux de caractères avant d'enregistrer dans un fichier. Cette fonction peut prendre trois arguments. Les deux premiers arguments sont obligatoires et le dernier argument est facultatif. Le premier argument prend un objet de données qui doit sérialiser. Le deuxième argument prend l'objet de gestionnaire de fichiers de ce fichier où les données pckled seront stockées. Le dernier argument prend le nom du protocole.

Syntaxe:

Dump (data_object, file_object, [protocole])

charge () pour la désérialisation:

La fonction de chargement () est utilisée pour convertir les données de flux de caractères du fichier en un objet Python. Cette fonction ne contient qu'un seul argument et l'objet de gestionnaire de fichiers du fichier passe comme valeur d'argument à partir de l'endroit où les données seront récupérées.

Syntaxe:

charger (file_object)

Pickle un objet simple à stocker dans un fichier

Créer un fichier nommé cornichon1.py avec le script Python suivant. Dans le script suivant, un objet de données nommé dataObject est déclaré stocker cinq noms de langue en itérant la boucle pour. Ensuite, la méthode Open () est utilisée pour attribuer un gestionnaire de fichiers pour créer un fichier binaire nommé langues. décharge() La fonction est utilisée ici pour sérialiser les données de dataObject et le stocker dans le langues déposer. Si la sérialisation sera effectuée correctement, un message, «données est sérialisée» imprimera.

# Importer le module de cornichon
corrige d'importation
# Déclarer l'objet pour stocker les données
dataObject = []
# Itérer la boucle pour 5 fois et prendre les noms de langue
pour n à portée (5):
brut = entrée ('Entrez un nom de langue:')
dataObject.Ajouter (brut)
# Ouvrez un fichier pour la rédaction de données
file_handler = open ('langues', 'wb')
# Vider les données de l'objet dans le fichier
cornichon.Dump (dataObject, file_handler)
# Fermez le gestionnaire de fichiers pour libérer les ressources
file_handler.fermer()
# Message d'impression
imprimer («les données sont sérialisées»)

Sortir:

Après avoir exécuté le script, il faudra cinq noms de langue comme entrée.

Décocher les données d'un fichier

Décocher les données est l'opposé des données de décapage. Créer un fichier nommé cornichon2.py avec le script Python suivant. Ici, ouvrir() La méthode est utilisée pour ouvrir le fichier binaire nommé langues, créé dans l'exemple précédent. charger() La fonction est utilisée pour débarrasser les données du fichier et les stocker dans la variable dataObject. Suivant, pour la boucle est utilisée itérer les données du dataObject et imprimer dans le terminal.

# Importer le module de cornichon
corrige d'importation
# Ouvrez un gestionnaire de fichiers pour lire un fichier à partir de l'endroit où les données se chargeront
file_handler = open ('langues', 'rb')
# Chargez les données du fichier après désérialisation
DataObject = Pickle.charger (file_handler)
# Fermez le gestionnaire de fichiers
file_handler.fermer()
# Message d'impression
imprimer («données après désérialisation»)
# Itérez la boucle pour imprimer les données après désérialisation
pour Val dans DataObject:
print ('La valeur des données:', Val)

Sortir:

La sortie suivante apparaîtra après l'exécution du script.

Pickle un objet de classe à un fichier

Comment un objet de classe peut être mariné est affiché dans l'exemple suivant. Créer un fichier nommé cornichon3.py avec le script suivant. Ici, Employé La classe est déclarée attribuer trois valeurs de données d'un employé. Ensuite, un objet de gestionnaire de fichiers nommé file est créé pour ouvrir un fichier pour écrire. Après avoir initialisé l'objet de classe, les données sont sérialisées en utilisant décharge() fonction et stocké dans le fichier nommé Employeedata. Si le fichier crée correctement, le message, «Les données sont sérialisées» Will imprimer.

# Importer le module de cornichon
corrige d'importation
# Déclarez la classe des employés pour stocker la valeur
Employé de classe:
DEF __INIT __ (Self, Nom, Email, Post):
soi.nom = nom
soi.e-mail = e-mail
soi.Post = poster
#Create Employee Object
Empobject = Employee ('Farheen', 'farheen @ gmail.com ',' manager ')
# Open Fichier pour les données du magasin
FileHandler = Open ('Employeedata', 'WB')
# Enregistrer les données dans le fichier
cornichon.Dump (empoBject, FileHandler)
# Fermez le fichier
file.fermer()
# Message d'impression
imprimer («les données sont sérialisées»)

Sortir:

La sortie suivante apparaîtra après l'exécution du script.

Défendez-vous les données à un objet de classe

Une classe avec les propriétés et méthodes nécessaires nécessitera de déclarer la récupération des données d'un fichier à un objet de classe. Créer un fichier nommé cornichon4.py avec le code suivant. Employé La classe est définie ici pour récupérer les données. fileobject la variable est utilisée pour ouvrir le fichier, Employeedata à lire. Suivant, charger() La fonction est utilisée pour stocker les données dans l'objet de classe après désérialisation. afficher() fonction du Employé La classe est appelée pour imprimer les valeurs de données de l'objet de classe.

# Importer le module de cornichon
corrige d'importation
# Déclarer la classe des employés pour lire et imprimer les données à partir d'un fichier
Employé de classe:
DEF __INIT __ (Self, Nom, Email, Post):
soi.nom = nom
soi.e-mail = e-mail
soi.Post = poster
affichage déf (auto):
Imprimer ('Informations sur les employés:')
print ('nom:', soi.nom)
Imprimer ('Email:', Self.e-mail)
Print ('Post:', Self.poste)
# Ouvrez le fichier pour la lecture
FileObject = Open ('Employeedata', 'RB')
# Défendre les données
employé = cornichon.charger (fileObject)
# Fermer le fichier
fileobject.fermer()
# print le dataframe
employé.afficher()

Sortir:

La sortie suivante apparaîtra après l'exécution du script.

Conclusion

Le module Pickle est une caractéristique utile de Python pour la sérialisation des données et la désérialisation. Après avoir terminé les exemples indiqués dans ce tutoriel, les données transférées d'un script Python à un autre script Python seront plus faciles pour quiconque.