在python中如何在任务的有效负载中发送类对象?我想在任务的参数中发送一个对象。
当我使用simplejson
时,我得到错误:Object is not serializable
。
当我使用pickle时,我得到KeyValue Error
。
怎么做?在
这是我要序列化的类
class Matrix2D_icfg:
name = ""
indices = []
value = {}
def __init__(self,s):
self.name = s
self.indices = []
def __getitem__(self,i):
self.indices.append(i)
if len(self.indices)==2:
(m,n) = self.indices
self.indices = []
if self.value.has_key(m*4276+n) == True :
value = self.value[m*4276+n]
else :
value = 0
return value
else: return self
def __setitem__(self,i,value):
self.indices.append(i)
if len(self.indices)==2:
(m,n) = self.indices
if value != 0 : self.value[m*4276+n] = value
self.indices = []
return self
icfg = Matrix2D_icfg("icfg") #declaring object
icfg_compress = pickle.dumps(icfg) #to pickle
icfg = pickle.loads(icfg_compress) # to unload
当我将pickled对象作为有效负载传递并稍后卸载时,会出现以下错误
^{pr2}$
你看过deferred library了吗?它正是为此而设计的,并为您处理序列化和反序列化。在
这是我的任务排队服务的一部分。它只是向另一个任务发布一个列表,将项目分解成可管理的部分。这只是其中的一部分,但你应该知道你需要做什么。在
要保存它:
要加载它:
^{pr2}$问题出在卸载的数据类型上。我把它输入str类型,一切似乎都正常工作。 我刚把它改成
相关问题 更多 >
编程相关推荐