我可以通过组合字符串调用方法来处理数据吗?
例如,可以输入data.image.truecolor()
代码吗?
data.image.truecolor() # This line is successful to call method
我的问题是:如果我有一个名为 data 的数据对象(不是字符串),如何结合".image.truecolor"
sting 来调用方法来处理数据?
它像是:
result=getattr(data,".image.truecolor")
result() # which is equivalent to the code above
当然,它失败了。我有一个AttributeError
.
因为处理数据的方法有很多,例如:
data.image.fog()
data.image.ir108()
data.image.dnb()
data.image.overview()
# .... and other many methods
手动输入代码既愚蠢又丑陋,不是吗?
因此,我希望我可以使用这段代码:
methods=["fog","ir108","dnb","overview"]
for method in methods:
method=".image"+method
result=getattr(data,method) # to call method to process the data
result() # to get the data processed
有可能通过这种方式吗?