При сериализации класса в одной программе (с полкой) я не могу получить его, не получив следующую ошибку:
File "\Python36_64\lib\shelve.py", line 111, in __getitem__
value = self.cache[key]
KeyError: 'foo'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "program.py", line 12, in <module>
bar = db['foo']
File "\Python36_64\lib\shelve.py", line 114, in __getitem__
value = Unpickler(f).load()
AttributeError: Can't get attribute 'bar' on <module '__main__' (built-in)>
Это мой код инициализации полки.Скомпилировано:
import shelve
class bar:
x = {}
db = shelve.open('file.dat')
db['foo'] = bar
Я пытался получить панель классов в другой программе с помощью следующего кода.Это не скомпилировано должным образом .:
import shelve
db = shelve.open('file.dat')
bar = db['foo']