如何使用其字符串名称在python中设置属性

时间:2010-06-16 13:37:01

标签: python

  

可能重复:
  How do you programmatically set an attribute in Python?

嘿,这是一个愚蠢的问题:我怎样才能在字符串中设置一个对象属性。我有一个字典传递给我,我希望使用这样的代码将其值转换为同名属性:

    for entry in src_dict:
          if entry.startswith('can_'):
              tgt_obj[entry] = src_dict_profile[entry]

我仍然是一个Python的菜鸟,所以会很感激一些帮助。 - 戴夫。

3 个答案:

答案 0 :(得分:12)

setattr(some_object, 'some_attribute', 42);

答案 1 :(得分:6)

听起来你正在寻找setattr

示例:

for entry in src_dict:
      if entry.startswith('can_'):
          setattr(tgt_obj, entry, src_dict_profile[entry])

答案 2 :(得分:0)

对具有“ dict ”属性的对象

if "__dict__" in dir(obj):

你可以做一些有趣的事情:

obj.__dict__.update(src_dict)