[Python] Vous pouvez enregistrer un objet dans un fichier en utilisant le module pickle.

Vous pouvez enregistrer des objets à l'aide du module pickle

Lors de la création d'un processus pour enregistrer les données de type dictionnaire localement en Python Je me demandais: "Quoi? Comment l'enregistrez-vous?" Depuis que j'ai appris l'existence du module pickle pour la première fois, je le laisserai comme note d'apprentissage. (Enfin enregistré en JSON)

emballer

À propos du module pickle

Le module pickle vous permet d'enregistrer un objet dans un fichier au format binaire.

Le module pickle implémente un protocole binaire pour la sérialisation des objets Python et la restauration des objets sérialisés. Document officiel Python: pickle

Soit dit en passant, «cornichon» signifie «cornichon». Cela vient-il de la sauvegarde d'objets qui disparaissent rapidement? Quel cool

Essayez d'utiliser le module pickle

Création de fichier

Vous pouvez enregistrer l'objet que vous souhaitez enregistrer en ouvrant le fichier en mode d'écriture binaire avec pickle.dump ().

createPickle.py


import pickle

d = {"name":"ndj", "age":25, "hobby": "YouTube"}
with open("sample.pickle", mode="wb") as f:
    pickle.dump(d, f)

Lecture de fichiers

Vous pouvez le charger en ouvrant le fichier en mode lecture binaire et pickle.load.

loadPickle.py


import pickle

d = {}
with open("sample.pickle", mode="rb") as f:
    d = pickle.load(f)

Les objets autres que le type dictionnaire peuvent également être enregistrés

À propos, les objets autres que le type dictionnaire peuvent être enregistrés de la même manière.

otherPickle.py


import pickle

def dumpPickle(fileName, obj):
    with open(fileName, mode="wb") as f:
        pickle.dump(obj, f)

dumpPickle("lst.pickle", [1,2,3,4,5])
dumpPickle("str.pickle", "helooooooo!!")
dumpPickle("int.pickle", 11114)

La même chose est vraie pour la lecture.

otherPickle.py


import pickle

def loadPickle(fileName):
    with open(fileName, mode="rb") as f:
        return pickle.load(f)

lst = loadPickle("lst.pickle")
_str = loadPickle("str.pickle")
_int = loadPickle("int.pickle")

Il semble que vous deviez être prudent lors de son utilisation

Il y a un avertissement en haut de la page Pickle dans la documentation officielle de Python.

Attention Le module pickle n'est pas sécurisé, ne récupérez que les données fiables. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling. Document officiel Python: pickle

Je ne suis pas très confiant, mais si le contenu du fichier est du code en cours de conversion du contenu du fichier en objets, il sera exécuté. .. Il semble que vous deviez faire attention à l'utilisation, car ce sera un problème si du code involontaire est exécuté.

référence

Officiel Python: Pickle

Recommended Posts

[Python] Vous pouvez enregistrer un objet dans un fichier en utilisant le module pickle.
Enregistrer l'objet dans un fichier avec pickle
Enregistrez le tableau numpy dans un fichier wav à l'aide du module wave
[Python] Si vous créez un fichier avec le même nom que le module à importer, une erreur d'attribut se produira.
Remarque Python: lorsque vous souhaitez connaître les attributs d'un objet
J'ai essayé d'utiliser le module Datetime de Python
Django super introduction par les débutants Python! Partie 3 J'ai essayé d'utiliser la fonction d'héritage de fichier de modèle
Convertir l'API cURL en script Python (à l'aide du stockage d'objets IBM Cloud)
Enregistrer le graphique dessiné par pyqtgraph dans une image
Écrire des données dans KINTONE à l'aide du module de requêtes Python
Comment enregistrer une table récupérée par python en csv
[Python] Enregistrez les données vidéo importées par OpenCV sous forme de fichier jpg de numéro de série
Pouvez-vous supprimer ce fichier?
Enregistrez le modèle pystan et les résultats dans un fichier pickle
Pourquoi puis-je utiliser le module en important avec python?
[python] Remplacez le nom du fichier image par un numéro de série
Comment changer le fichier de configuration pour qu'il soit lu par Python
Essayez d'exploiter un fichier Excel en utilisant Python (Pandas / XlsxWriter) ①
Essayez d'exploiter un fichier Excel en utilisant Python (Pandas / XlsxWriter) ②
Comment importer des fichiers où vous le souhaitez en Python
[Python] Comment générer une table pandas dans un fichier Excel
Comment coller un fichier CSV dans un fichier Excel à l'aide de Pandas
Créez un script shell pour exécuter le fichier python plusieurs fois
Paramètres d'exécution d'un test à chaque fois que vous enregistrez un fichier dans l'éditeur à l'aide de watchmedo (chien de garde)
Extraire le fichier targz en utilisant python
Lorsque vous souhaitez envoyer un objet avec des requêtes à l'aide de flask
Essayez d'utiliser le module Python Cmd
Vérifiez si vous pouvez vous connecter à un port TCP en Python
Obtenez la formule dans le fichier Excel sous forme de chaîne en Python
Django super introduction par les débutants Python! Partie 2 J'ai essayé d'utiliser les fonctions pratiques du modèle
L'histoire de la création d'un outil pour charger une image avec Python ⇒ l'enregistrer sous un autre nom
[Python Kivy] Comment obtenir le chemin du fichier par glisser-déposer
Si vous voulez un singleton en python, considérez le module comme un singleton
Un mémo organisé en renommant les noms de fichiers dans le dossier avec python
Vérifiez le nom du fichier si l'importation Python vous dit que vous ne pouvez pas
[Python] Comment lire le fichier csv (méthode read_csv du module pandas)
Créer un enregistrement avec des pièces jointes dans KINTONE à l'aide du module de requêtes Python
J'ai fait un programme pour vérifier la taille d'un fichier avec Python
J'ai essayé d'analyser la carte du Nouvel An par moi-même en utilisant python
Comment trier en spécifiant une colonne dans le tableau Python Numpy.
python3 Comment installer un module externe
Comment convertir Python en fichier exe
Créer un graphique à l'aide du module Sympy
Fonction pour enregistrer les images par date [python3]
Lisez le fichier ligne par ligne avec Python
Lisez le fichier ligne par ligne avec Python
Une introduction à l'orientation des objets - Donnez à un objet un enfant.
Depuis Django 1.8, vous pouvez passer un objet appelable à l'attribut choice de forms.ChoiceField, ce qui est très pratique.
[Python3] Code qui peut être utilisé lorsque vous souhaitez découper une image dans une taille spécifique
<Python> Un quiz pour convertir par lots les noms de fichiers séparés par une chaîne de caractères spécifique dans le cadre du nom de fichier
Si vous souhaitez créer une application Windows (exe) qui peut être utilisée maintenant en utilisant uniquement Python
Comment enregistrer les informations de point caractéristique de l'image dans un fichier et l'utiliser pour la mise en correspondance
[Python3] Code qui peut être utilisé lorsque vous souhaitez modifier l'extension d'une image à la fois
[2015/11/19] Comment enregistrer un service localement à l'aide du SDK python avec naoqi os
Différentes façons de lire la dernière ligne d'un fichier csv en Python
[Circuit x Python] Comment trouver la fonction de transfert d'un circuit en utilisant Lcapy
Si vous souhaitez créer une application TODO (distribuée) maintenant en utilisant uniquement Python
Enregistrez les conditions de paramétrage sous forme de fichier CSV à l'aide de UDF Manager avec OCTA
J'ai essayé d'utiliser la bibliothèque Python "pykakasi" qui peut convertir des kanji en romaji.