У меня есть проприетарный объект 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]
Есть ли другой способ получить их без явного вызова каждого атрибута?