What's Pickle Dies
Wow lecker ~ Abgesehen von der Unschärfe stammt der Name von Pickles, einem Python-Modul, mit dem Sie den Status eines Objekts durch Serialisierung speichern können.
Ich habe in letzter Zeit und oft Deep Learning studiert
train_list = load_image_list(args.train)
val_list = load_image_list(args.val)
mean_image = pickle.load(open(args.mean, 'rb'))
Ich stoße oft auf Codes wie. Ich dachte: "Was ist Gurke?", Also werde ich zusammenfassen, was ich recherchiert habe.
Bitte weisen Sie darauf hin, ob es eine Beschreibung gibt, die Sie interessiert, da Sie mit der Programmierung im Allgemeinen nicht vertraut sind.
Das meiste davon ist in der Dokumentation geschrieben.
http://docs.python.jp/2/library/pickle.html http://docs.python.jp/3/library/pickle.html
Programme arbeiten naturgemäß im Speicher und werden nach Beendigung ihrer Rolle aus dem Speicher entfernt. Das Objekt wird auch vom GC gelöscht, wenn es seine Rolle beendet hat, oder es verschwindet, wenn das Programm beendet ist.
Das Pickle-Modul bietet die Möglichkeit, das erstellte Objekt auch nach Beendigung des Programms zu speichern.
Sie können das Objekt speichern, indem Sie es in eine Byte-Zeichenfolge konvertieren und in eine Datei schreiben.
Schreiben Sie eine einfache Klasse.
Singer.py
class Singer(object):
def __init__(self, lylics):
self.lylics = lylics
def sing(self):
print(self.lylics)
Wenn diese Klasse instanziiert wird
main.py
from singer import Singer
singer = Singer('Shanranran')
singer.sing()
$ main.py
$ 'Shanranran'
Und so weiter singt es die Texte, die an den Konstrukteur weitergegeben wurden.
Natürlich vergisst Singer die Texte, wenn der Lauf beendet ist.
Verwenden Sie also anstelle der Textkarte Pickle, um den Status des Objekts zu speichern.
dump.py
import pickle
from singer import Singer
singer = Singer('Shanranran')
with open('singer.pickle', 'wb') as f:
pickle.dump(singer, f)
Indem Sie den Status des Singer-Objekts in eine Binärdatei mit dem Namen Singer.pickle umwandeln, können Sie den Status des Objekts auch nach Abschluss von dump.py speichern. Das ist Pickle.
Ich benutze die Lademethode, um ein Objekt nicht zu beizen.
load.py
import pickle
with open('singer.pickle', 'rb') as f:
singer = pickle.load(f)
singer.sing()
$ python load.py
$ Shanranran
Es wurde bestätigt, dass der Status des Singer-Objekts bei der Ausführung von dump.py gespeichert wurde.
Ich habe kurz über das Pickle-Modul geschrieben, aber dies ist erst der Anfang, und es gibt noch mehr Dinge zu beachten, wenn Sie es ernsthaft verwenden. Ich lerne mich selbst, also schreibe ich es, wenn ich es wieder nachschlage.
12.1. Pickle - Serialisierung von Python-Objekten http://docs.python.jp/3/library/pickle.html
11.1. Pickle - Serialisierung von Python-Objekten http://docs.python.jp/2/library/pickle.html
Python: Ein Objekt auswählen http://blog.amedama.jp/entry/2015/12/05/132520
Recommended Posts