[Python] Pickling di dizionari.

Gabriele Battaglia iz4apu a libero.it
Gio 16 Apr 2015 15:51:24 CEST


Ciao.
Devo salvare con pickle.dump(d, f), dove d è un dizionario le cui chiavi 
sono degli interi ed i valori degli oggetti creati da me, mentre f è un 
file aperto in scrittura binaria, f = open("miofile.est","wb").
L'operazione avviene ma, quando vado a caricare il dizionario:

d = pickle.load(f), dove f è aperto in "rb", ottengo un traceback del 
modulo pickle che non riesco a capire:

***
Traceback (most recent call last):
   File "C:\Dropbox\py\sd.py", line 159, in <module>
     giocatori = pickle.load(f)
   File "C:\Python27\lib\pickle.py", line 1378, in load
     return Unpickler(file).load()
   File "C:\Python27\lib\pickle.py", line 858, in load
     dispatch[key](self)
   File "C:\Python27\lib\pickle.py", line 1090, in load_global
     klass = self.find_class(module, name)
   File "C:\Python27\lib\pickle.py", line 1126, in find_class
     klass = getattr(mod, name)
AttributeError: 'module' object has no attribute 'Giocatore'

C:\Dropbox\py>
***

Quel "Giocatore", di cui lamenta la mancanza nell'ultima indicazione, è 
il nome della classe degli oggetti che sono i valori del dizionario 
giocatori, che tento di caricare.

Qualcuno mi aiuta a venirne a capo?

GB.



Maggiori informazioni sulla lista Python