À la recherche de conseils sur la meilleure technique pour économiser des structures de données complexes Python à travers les sessions de programme. P>
Voici une liste de techniques que j'ai proposées jusqu'à présent: p>
Pickle est la technique la plus facile et la plus rapide, mais ma compréhension est que rien ne garantit que la sortie de cornichon fonctionnera dans diverses versions de Python 2.x / 3.x ou sur des implémentations 32 et 64 bits de Python. P >
JSON fonctionne uniquement pour des structures de données simples. Jsonpickle semble corriger cela et semble être écrit pour travailler à travers différentes versions de Python. P>
Serializing to XML ou à une base de données est possible, mais représente des efforts supplémentaires puisque nous devrions faire la sérialisation nous-mêmes manuellement. P>
merci, Malcolm p>
4 Réponses :
Vous avez une idée fausse sur les cornichons: ils sont garantis pour travailler à travers les versions de Python. Vous devez simplement choisir une version de protocole supportée par toutes les versions Python que vous aimez. P>
La technique que vous avez laissée de côté est le maréchal, qui n'est pas garantie de fonctionner à travers les versions Python (et BTW, est la façon dont les fichiers .pyc sont écrits). P>
Ned: Merci d'avoir souligné ma confusion entre le décapage et la maréchalation.
Vous avez laissé tomber le maréchal et Aussi ce Python Docs Page couvre la persistance P>
Spliff: Merci pour le lien avec la page Web Python Persistance.
Quels sont vos critères pour "meilleurs"? P>
cornichon code> peut faire la plupart des structures python, profondément imbriquées aussi li>
- SQLite DBS peut être facilement interrogé (si vous connaissez SQL :) li>
- vitesse / mémoire? ne faites pas confiance à des points de repère que vous ne vous êtes pas monté. Li>
ul>
(imprimé fin:
CPICKLE.DUMP (protocole = -1) comprime, dans une case 15m Pickle / 60m SQLite, mais peut casser.
Cordes qui se produisent plusieurs fois, par ex. Les noms de pays peuvent prendre plus de mémoire que prévu;
Voir le stagiaire intégré ().
) p>
Denis: Merci pour votre avertissement sur le protocole = -1 et le sens de l'humour (RE: ne faites pas confiance aux points de repère que vous ne vous êtes pas façonné ... LMAO!)