Python

Comment décaper des objets en Python

Comment décaper des objets en Python
Toutes les données peuvent être sérialisées et désérialisées en Python en utilisant JSON et le module 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 à l'aide de ce module. Lorsque l'utilisateur souhaite récupérer les données du fichier pour utiliser un autre script python alors les données du fichier sont désérialisées par le module pickle. Les fonctionnalités du module pickle et comment ce module peut être utilisé dans un script python pour la sérialisation et la désérialisation sont décrits dans ce tutoriel.

Caractéristiques des cornichons :

dump() pour la sérialisation :

La fonction dump () est utilisée pour convertir les données de l'objet en un flux de caractères avant de les 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 être sérialisé. Le deuxième argument prend l'objet gestionnaire de fichier 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])

load() pour la désérialisation :

La fonction load() 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 gestionnaire de fichier du fichier passe comme valeur d'argument à partir de laquelle les données seront récupérées.

Syntaxe:

charger (fichier_objet)

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é pour stocker cinq noms de langue en itérant la boucle for. Ensuite, la méthode open() est utilisée pour affecter un gestionnaire de fichiers pour créer un fichier binaire nommé langues. décharger() La fonction est utilisée ici pour sérialiser les données de DataObject et rangez-le dans le langues déposer.  Si la sérialisation sera effectuée correctement, un message « Les données sont sérialisées » s'imprimera.

# Importer le module cornichon
importer des cornichons
# Déclarez l'objet pour stocker les données
DataObject = []
# Itérer la boucle for 5 fois et prendre les noms de langue
pour n dans la plage (5) :
raw = input('Entrez un nom de langue  :')
DataObject.ajouter (brut)
# Ouvrir un fichier pour écrire des 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
gestionnaire_de_fichier.Fermer()
# Imprimer le message
print('Les données sont sérialisées')

Production:

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

Décaper les données d'un fichier

le décapage des données est le contraire du décapage des données. Créer un fichier nommé cornichon2.py avec le script python suivant. Ici, ouvert() méthode est utilisée pour ouvrir le fichier binaire nommé langues, créé dans l'exemple précédent. charge() La fonction est utilisée pour désélectionner les données du fichier et les stocker dans la variable DataObject. Suivant, pour boucle est utilisée pour itérer les données du DataObject et imprimer dans le terminal.

# Importer le module cornichon
importer des cornichons
# Ouvrir un gestionnaire de fichiers pour lire un fichier à partir duquel les données seront chargées
file_handler = open('langues', 'rb')
# Charger les données du fichier après désérialisation
dataObject = cornichon.charger(file_handler)
# Fermez le gestionnaire de fichiers
gestionnaire_de_fichier.Fermer()
# Imprimer le message
print('Données après désérialisation')
# Itérer la boucle pour imprimer les données après désérialisation
pour val dans dataObject :
print('La valeur des données : ', val)

Production:

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

Pickle un objet de classe dans un fichier

L'exemple suivant montre comment un objet de classe peut être décapé. Créer un fichier nommé cornichon3.py avec le script suivant. Ici, Employé la classe est déclarée pour attribuer trois valeurs de données d'un employé. Ensuite, un objet gestionnaire de fichiers nommé gestionnaire de fichiers est créé pour ouvrir un fichier en écriture. Après l'initialisation de l'objet de classe, les données sont sérialisées à l'aide décharger() fonction et stocké dans le fichier nommé employéDonnées. Si le fichier se crée correctement, le message, « Les données sont sérialisées » imprimera.

# Importer le module de cornichons
importer des cornichons
# Déclarez la classe d'employés pour stocker la valeur
Classe Employé :
def __init__(self, name, email, post):
soi.nom = nom
soi.e-mail = e-mail
soi.poste = poste
 
#Créer un objet employé
empObject = Employé('Farheen', '[email protected]', 'Manager')
# Ouvrir le 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
gestionnaire de fichiers.Fermer()
# Imprimer le message
print('Les données sont sérialisées')

Production:

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

Décaper les données dans un objet de classe

Une classe avec les propriétés et méthodes nécessaires devra déclarer pour récupérer les données d'un fichier vers 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. objetfichier variable est utilisée pour ouvrir le fichier, employéDonnées à lire. Suivant, charge() la fonction est utilisée pour stocker les données dans l'objet de classe après la désérialisation. affichage() fonction de la Employé la classe est appelée pour imprimer les valeurs de données de l'objet de classe.

# Importer le module de cornichons
importer des cornichons
# Déclarez la classe d'employés pour lire et imprimer les données d'un fichier
Classe Employé :
def __init__(self, name, email, post):
soi.nom = nom
soi.e-mail = e-mail
soi.poste = poste
def afficher (auto):
print('Informations sur l'employé :')
print('Nom  :', self.Nom)
print('Email  :', self.e-mail)
print('Post :', self.Publier)
 
# Ouvrir le fichier pour lecture
fileObject = open('employeeData', 'rb')
# Décapez les données
employé = cornichon.load(fileObject)
# Fermer le fichier
objetfichier.Fermer()
#imprimer la trame de données
employé.affichage()

Production:

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

Conclusion

Le module Pickle est une fonctionnalité utile de python pour la sérialisation et la désérialisation des données. Après avoir terminé les exemples présentés dans ce didacticiel, le transfert de données d'un script python à un autre script python sera plus facile pour tout le monde.

Comment changer les boutons gauche et droit de la souris sur un PC Windows 10
Il est tout à fait normal que tous les appareils de souris d'ordinateur soient conçus de manière ergonomique pour les droitiers. Mais il existe des so...
Émulez les clics de souris en survolant à l'aide de la souris sans clic dans Windows 10
L'utilisation d'une souris ou d'un clavier dans la mauvaise posture d'une utilisation excessive peut entraîner de nombreux problèmes de santé, notamme...
Ajoutez des gestes de souris à Windows 10 à l'aide de ces outils gratuits
Ces dernières années, les ordinateurs et les systèmes d'exploitation ont considérablement évolué. Il fut un temps où les utilisateurs devaient utilise...