Object Dask包映射:将属性指定给对象

Object Dask包映射:将属性指定给对象,object,attributes,dask,Object,Attributes,Dask,我有一组python对象(我只给出了一个例子:代码中的x),我想使用dask包处理它们。计算的结果值将被指定为对象的属性(下面代码中的x.test) import dask.bag as db class Test(): pass x = Test() def dask_test(x): somevalue = someprocess(x) setattr(x, "test", somevalue) b = db.from_sequence([

我有一组python对象(我只给出了一个例子:代码中的x),我想使用dask包处理它们。计算的结果值将被指定为对象的属性(下面代码中的x.test)

import dask.bag as db

class Test():
    pass

x = Test()

def dask_test(x):
    somevalue = someprocess(x)
    setattr(x, "test", somevalue)

b = db.from_sequence([x], npartitions = 1)
b.map(dask_test).compute()
x.test 
上面给出了一个错误:AttributeError:“Test”对象没有属性“Test”

这里的吼声很好用

setattr(x, "test", 'somevalue')
x.test

您应该从
dask_test
函数返回一个值:

def dask_测试(x):
setattr(x,“测试”,真)
返回x

你能详细说明一下你想要完成什么吗?@joebeeson我正试图使用dask bag多重处理来处理一些对象,并将处理结果作为属性分配给对象。只是出于好奇,属性在哪里丢失,为什么丢失?所以,有两件事。Dask将在封面下进行一点序列化和复制,依靠突变是一门你想避开的大炮。如果你有一个更具体的例子说明你为什么要这样做,请告诉我。就目前而言,您的示例很难与解决方案相关联。