我有一个专有的job
对象,它有几个非方法字符串属性,我希望能够高效地编译成一个列表。job
对象有一个属性TAGS
,其中包含我要编译其值的属性名的完整列表,但没有方法只提取值。我正在寻找一种方法来利用TAGS
列表有效地提取所有需要的字符串属性
>>> job_object.TAGS
('date', 'id', 'name', 'state', 'starttime', 'endtime', 'runs', ...) # There are 9 in all
我可以单独提取属性,但我希望有一个高效的实现,而不是硬编码,以防TAGS
发生变化
>>> job_object.id
'1426013702'
我尝试过使用exec
,但它当然不会返回任何结果
>>> [exec('job_object.{}'.format(tag)) for tag in job_object.TAGS]
[None, None, None, None, None, None, None, None, None, None, None, None, None]
有没有其他方法可以在不显式调用每个属性的情况下提取这些属性
是的,我也不能让
exec
像你期望的那样工作然而,这似乎奏效了:
但是,我刚刚查找了文档中的
exec()
,它总是返回None
相关问题 更多 >
编程相关推荐