[Python] Sie können ein Objekt mithilfe des Pickle-Moduls in einer Datei speichern.

Sie können Objekte mit dem Pickle-Modul speichern

Beim Erstellen eines Prozesses zum lokalen Speichern von Wörterbuchtypdaten in Python Ich fragte mich: "Was? Wie rettest du es?" Da ich zum ersten Mal von der Existenz des "Pickle" -Moduls erfahren habe, werde ich es als Lernnotiz hinterlassen. (Endlich in JSON gespeichert)

einpacken

Über das Pickle-Modul

Mit dem Pickle-Modul können Sie ein Objekt im Binärformat in einer Datei speichern.

Das Pickle-Modul implementiert ein Binärprotokoll zum Serialisieren von Python-Objekten und zum Wiederherstellen serialisierter Objekte. Offizielles Python-Dokument: pickle

"Gurke" bedeutet übrigens "Gurke". Kommt es vom Speichern von Objekten, die schnell verschwinden? Was für ein cooler

Versuchen Sie es mit dem Pickle-Modul

Dateierstellung

Sie können das zu speichernde Objekt speichern, indem Sie die Datei im binären Schreibmodus mit pickle.dump () öffnen.

createPickle.py


import pickle

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

Datei lesen

Sie können es laden, indem Sie die Datei im binären Lesemodus und "pickle.load" öffnen.

loadPickle.py


import pickle

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

Andere Objekte als der Wörterbuchtyp können ebenfalls gespeichert werden

Übrigens können andere Objekte als der Wörterbuchtyp auf die gleiche Weise gespeichert werden.

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)

Gleiches gilt für das Lesen.

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")

Es scheint, dass Sie vorsichtig sein müssen, wenn Sie es verwenden

Oben auf der Pickle-Seite in der offiziellen Python-Dokumentation befindet sich eine Warnung.

Warnung Das Pickle-Modul ist nicht sicher. Entpacken Sie nur Daten, denen Sie vertrauen. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling. Offizielles Python-Dokument: pickle

Ich bin nicht sehr sicher, aber wenn der Inhalt der Datei Code ist, der beim Konvertieren des Inhalts der Datei in Objekte ausgeführt wird, wird er ausgeführt. .. Es scheint, dass Sie bei der Verwendung vorsichtig sein müssen, da es ein Problem sein wird, wenn unbeabsichtigter Code ausgeführt wird.

Referenz

Python Official: Pickle

Recommended Posts

[Python] Sie können ein Objekt mithilfe des Pickle-Moduls in einer Datei speichern.
Speichern Sie das Objekt in einer Datei mit pickle
Speichern Sie das numpy-Array mithilfe des Wave-Moduls in einer WAV-Datei
[Python] Wenn Sie eine Datei mit demselben Namen wie das zu importierende Modul erstellen, tritt ein Attributfehler auf.
Python Hinweis: Wenn Sie die Attribute eines Objekts kennen möchten
Ich habe versucht, das Datetime-Modul von Python zu verwenden
Django super Einführung von Python-Anfängern! Teil 3 Ich habe versucht, die Vererbungsfunktion für Vorlagendateien zu verwenden
Konvertieren der cURL-API in ein Python-Skript (mithilfe des IBM Cloud-Objektspeichers)
Speichern Sie das von pyqtgraph gezeichnete Diagramm in einem Bild
Schreiben Sie Daten mit dem Python-Anforderungsmodul in KINTONE
So speichern Sie eine von Python gekratzte Tabelle in CSV
[Python] Speichern Sie die von OpenCV importierten Videodaten als JPG-Datei mit Seriennummer
Können Sie diese Datei löschen?
Speichern Sie das Pystan-Modell und erhalten Sie eine Pickle-Datei
Warum kann ich das Modul durch Importieren mit Python verwenden?
[Python] Ändern Sie den Namen der Bilddatei in eine Seriennummer
So wechseln Sie die Konfigurationsdatei, die von Python gelesen werden soll
Versuchen Sie, eine Excel-Datei mit Python (Pandas / XlsxWriter) zu betreiben
Versuchen Sie, eine Excel-Datei mit Python (Pandas / XlsxWriter) zu betreiben
So importieren Sie Dateien in Python an eine beliebige Stelle
[Python] So geben Sie eine Pandas-Tabelle in eine Excel-Datei aus
So fügen Sie eine CSV-Datei mit Pandas in eine Excel-Datei ein
Erstellen Sie ein Shell-Skript, um die Python-Datei mehrmals auszuführen
Einstellungen zum Ausführen eines Tests jedes Mal, wenn Sie eine Datei mit watchmedo (watchdog) im Editor speichern
Extrahieren Sie die Targz-Datei mit Python
Wenn Sie ein Objekt mit Anforderungen mithilfe der Flasche senden möchten
Versuchen Sie es mit dem Python Cmd-Modul
Überprüfen Sie, ob Sie in Python eine Verbindung zu einem TCP-Port herstellen können
Rufen Sie die Formel in der Excel-Datei als Zeichenfolge in Python ab
Django super Einführung von Python-Anfängern! Teil 2 Ich habe versucht, die praktischen Funktionen der Vorlage zu nutzen
Die Geschichte, ein Tool zum Laden von Bildern mit Python zu erstellen ⇒ Speichern unter
[Python Kivy] So erhalten Sie den Dateipfad durch Ziehen und Ablegen
Wenn Sie einen Singleton in Python möchten, stellen Sie sich das Modul als Singleton vor
Ein Memo, das durch Umbenennen der Dateinamen im Ordner mit Python organisiert wird
Überprüfen Sie den Dateinamen, wenn Sie durch Python-Import nicht informiert werden
[Python] Lesen der CSV-Datei (Methode read_csv des Pandas-Moduls)
Erstellen Sie mit dem Python-Anforderungsmodul einen Datensatz mit Anhängen in KINTONE
Ich habe ein Programm erstellt, um die Größe einer Datei mit Python zu überprüfen
Ich habe versucht, die Neujahrskarte selbst mit Python zu analysieren
Sortieren durch Angabe einer Spalte im Python Numpy-Array.
python3 So installieren Sie ein externes Modul
So konvertieren Sie Python in eine exe-Datei
Erstellen Sie mit dem Sympy-Modul ein Diagramm
Funktion zum Speichern von Bildern nach Datum [python3]
Lesen Sie die Datei Zeile für Zeile mit Python
Lesen Sie die Datei Zeile für Zeile mit Python
Eine Einführung in die Objektorientierung - Geben Sie einem Objekt ein Kind.
Ab Django 1.8 können Sie ein aufrufbares Objekt an das Auswahlattribut von forms.ChoiceField übergeben, was sehr praktisch ist.
[Python3] Code, der verwendet werden kann, wenn Sie ein Bild in einer bestimmten Größe ausschneiden möchten
<Python> Ein Quiz zum Batch-Konvertieren von Dateinamen, die durch eine bestimmte Zeichenfolge als Teil des Dateinamens getrennt sind
Wenn Sie eine Windows-App (exe) erstellen möchten, die jetzt nur mit Python verwendet werden kann
So speichern Sie die Feature-Point-Informationen des Bildes in einer Datei und verwenden sie zum Abgleichen
[Python3] Code, der verwendet werden kann, wenn Sie die Erweiterung eines Bildes sofort ändern möchten
[19.11.2015] So registrieren Sie einen Dienst lokal mit dem Python SDK bei naoqi os
Verschiedene Möglichkeiten, die letzte Zeile einer CSV-Datei in Python zu lesen
[Circuit x Python] So ermitteln Sie die Übertragungsfunktion eines Schaltkreises mit Lcapy
Wenn Sie eine TODO-Anwendung (verteilt) jetzt nur mit Python erstellen möchten
Speichern Sie die Einstellungsbedingungen als CSV-Datei mit UDF Manager mit OCTA
Ich habe versucht, die Python-Bibliothek "pykakasi" zu verwenden, die Kanji in Romaji konvertieren kann.