1
我正在處理分佈式處理項目。 我需要將我的複合數據類型發送給另一個對等體,所以我可以在其他對等體中使用它來填充我的TreeView結構。 我有兩個班在我的「tsk_composite」模塊, 我的複合數據節點:我送我的複合數據使用cPickle發送帶有XML-RPC的複合數據類型
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
:
class CTskNode(object):
def __init__(self, pData, pParent = None):
self.mData = pData
self.mParent = pParent
self.mChildren = []
我這把樹形結構的根節點主類使用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
當我創建一個在我的第二對這個名字「tsk_composite」的emty模塊,那麼它給出了這樣的錯誤:
AttributeError: 'module' object has no attribute 'CTskNode'
當我剛寫這行代碼的模塊中我的第二個同伴,它的工作完美。
class CTskNode(object):pass
其實我並不需要這個模塊和類,我怎麼能僅僅通過cPickle的導入模塊和類名其他同行?
感謝您的快速回復。但是,我無法將我的源代碼提供給我的客戶端,並且它似乎不是創建我真正不需要的虛擬模塊的好方法。 你有沒有其他建議可以使用XML-RPC發送數據,除了泡菜? – zekifh 2011-05-02 14:04:46
您可以嘗試發送由屬性名稱和值組成的字典,它應該足夠。 – 2011-05-02 14:33:55