У меня проблемы с выбором класса, импортирующего класс из другого модуля.
Представьте, что у меня есть файл classA.py с определением класса A:
class A:
def execute(self):
print('Hello from class A!')
Затем яесть другой файл classB.py:
import dill
import classA
class B:
def __init__(self):
self.a = classA.A()
def execute(self):
self.a.execute()
print('Hello from class B!')
b = B()
with open('/file/path', 'wb') as f:
dill.dump(b, f)
Если тогда я попытаюсь открепить созданный файл из другого каталога с помощью:
with open('file/path', 'rb') as f:
b = dill.load(f)
Я получаю ошибку:
ModuleNotFoundError: No module named 'classB'
Конечно, он работает в той же папке, в которой у меня есть файлы classA.py и classB.py, потому что интерпретатор может найти определение двух классов.
Так что, думаю, мне нужно как-топеренести определение классов в файл pickle.Как я могу это сделать?
Спасибо, Стефано