web-dev-qa-db-fra.com

Qu'est-ce que cela signifie pour un objet d'être picklable (ou picklable)?

Les documents Python mentionnent beaucoup ce mot et je veux savoir ce que cela signifie! La recherche sur Google n'aide pas beaucoup ..

66
Paul

Cela signifie simplement qu'il peut être sérialisé par le module pickle . Pour une explication de base de cela, voir Que peut-on décaper et décaper? . Le protocole pickle fournit plus de détails et montre comment les classes peuvent personnaliser le processus.

46
Matthew Flaschen

Les éléments qui ne sont généralement pas sélectionnables sont, par exemple, les sockets, les fichiers (gestionnaires), les connexions à la base de données, etc. Tout ce qui se construit (récursivement) à partir des types de base python (dict, listes, primitives, objets, références d'objet, même circulaires) peut être décapé par défaut.

Vous pouvez implémenter du code de décapage personnalisé qui, par exemple, stockera la configuration d'une connexion à la base de données et la restaurera ensuite, mais vous aurez besoin d'une logique spéciale et personnalisée pour cela.

Tout cela rend le décapage beaucoup plus puissant que xml, json et yaml (mais certainement pas aussi lisible)

24
Ivo van der Wijk