可能重复:
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的菜鸟,所以会很感激一些帮助。 - 戴夫。
答案 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)