Bonjour,
Je rencontre quelques difficultés avec pickle.
1/ J'ai 3 modules:
- Un module A qui définit la classe foo dont je veux pickle une instance (classe toute simple, pas de méthodes à part init() qui ne fait que définir des attributs d'instance).
- Un module B, dans le meme package que A, qui ne me sert qu'à faire un test de pickle via une fonction save_load(): j'importe A et je pickle une instance foo(). Tout marche très bien jusqu'ici.
- Un module C (dans un autre package) qui essaye de faire la même chose (i.e il appelle la fonction save_load() de B, qui essaye de pickle.load() ).
Dans ce dernier cas, python me renvoie l'erreur "module A does not exist", alors que B import A. Voyez vous ce que je n'ai pas compris ?
2/ Plus généralement, si j'ai pickle une instance de la classe C, mais que mon code évolue et que je n'ai plus de classe C (elle a été renommé), comment puis-je catcher l'erreur de pickle pour qu'il soit au moins capable de me renvoyer les données sous forme de dict (ou alternativement de créer la classe manquante).
Merci d'avance![]()
Partager