What's Pickle cette
Wow délicieux ~ Mis à part le flou, le nom vient de Pickles, un module Python qui vous permet de sauvegarder l'état d'un objet en le sérialisant.
J'ai étudié l'apprentissage profond récemment et souvent
train_list = load_image_list(args.train)
val_list = load_image_list(args.val)
mean_image = pickle.load(open(args.mean, 'rb'))
Je rencontre souvent des codes comme. J'ai pensé, "Qu'est-ce que le cornichon?", Je vais donc résumer ce que j'ai recherché.
Veuillez indiquer s'il y a une description qui vous intéresse parce que vous n'êtes pas familier avec la programmation en général.
La majeure partie est écrite dans la documentation.
http://docs.python.jp/2/library/pickle.html http://docs.python.jp/3/library/pickle.html
De par sa nature même, les programmes fonctionnent en mémoire et sont supprimés de la mémoire lorsqu'ils ont terminé leur rôle. L'objet est également supprimé par le GC lorsqu'il termine son rôle, ou il disparaît lorsque le programme termine son exécution.
Le module Pickle offre la possibilité de sauvegarder l'objet créé même après la fin de l'exécution du programme.
La manière d'enregistrer est de convertir l'objet en une chaîne d'octets et de l'écrire dans un fichier.
Écrivez un cours simple.
Singer.py
class Singer(object):
def __init__(self, lylics):
self.lylics = lylics
def sing(self):
print(self.lylics)
Quand cette classe est instanciée
main.py
from singer import Singer
singer = Singer('Shanranran')
singer.sing()
$ main.py
$ 'Shanranran'
Et ainsi de suite, il chante les paroles transmises au constructeur.
Bien sûr, Singer oublie les paroles lorsque la course est terminée.
Ainsi, au lieu d'une carte de paroles, utilisez Pickle pour enregistrer l'état de l'objet.
dump.py
import pickle
from singer import Singer
singer = Singer('Shanranran')
with open('singer.pickle', 'wb') as f:
pickle.dump(singer, f)
En faisant de l'état de l'objet Singer un fichier binaire appelé singer.pickle, vous pouvez enregistrer l'état de l'objet même après la fin de dump.py. C'est Pickle.
J'utilise la méthode load pour rendre un objet non pickle,
load.py
import pickle
with open('singer.pickle', 'rb') as f:
singer = pickle.load(f)
singer.sing()
$ python load.py
$ Shanranran
Il a été confirmé que l'état de l'objet Singer lors de l'exécution de dump.py était enregistré.
J'ai brièvement écrit sur le module Pickle, mais ce n'est que le début, et il y a encore plus de choses à prendre en compte lorsque vous l'utilisez sérieusement. J'étudie moi-même, donc je l'écrirai quand je le chercherai à nouveau.
12.1. Pickle - Sérialisation d'objets Python http://docs.python.jp/3/library/pickle.html
11.1. Pickle - Sérialisation d'objets Python http://docs.python.jp/2/library/pickle.html
Python: Pickle un objet http://blog.amedama.jp/entry/2015/12/05/132520
Recommended Posts