Я работаю над проектом распределенной обработки.
Мне нужно отправить составной тип данных другому узлу, чтобы я мог использовать его в другом узле, чтобы заполнить структуру TreeView.
У меня есть эти два класса в моем модуле "tsk_composite",
Мой узел составных данных:
class CTskNode(object):
def __init__(self, pData, pParent = None):
self.mData = pData
self.mParent = pParent
self.mChildren = []
Мой основной класс, который отправляет RootNode древовидной структуры:
class CTskComposite(object):
...
def getRootNode(self):
self.getImagePartitions()
return self.mParent
def getImagePartitions(self):
#I use this method to create my parentRoot with recursive function
#it works good
Я отправляю свои составные данные с помощью cPickle с этим кодом:
def _composite(self, pArgs):
self.mComposite = CTskComposite(pArgs)
self.mCompositeRootNode = self.mComposite.getRootNode()
return cPickle.dumps(self.mCompositeRootNode)
Когда я получаю составные данные в моем втором узле, это выдает это сообщение об ошибке:
ImportError: No module named tsk_composite
Когда я создаю модуль emty с таким именем "tsk_composite" во втором узле, он выдает такую ошибку:
AttributeError: 'module' object has no attribute 'CTskNode'
И когда я только что написал эту строку кода в модуле на моем втором узле, он отлично работал.
class CTskNode(object):pass
На самом деле мне не нужен этот модуль и класс. Как я могу просто импортировать имя модуля и класса в другой узел с помощью cpickle?