我有类似的东西,(效果很好)给了我关键值和变量值。
for k,v in x.iteritems():
print k, v.samplekey,v.units,v.comment
其中x是字典,v是netCDF4 variable。对于字典' v',可能存在或可能不存在键的值。 [例如。关键单位'可能存在于字典中的某个项目中,而其他项目可能会丢失。]
我得到了AttributeError: Attribute not found
。在字典中找不到密钥时的消息。我想在没有找到钥匙的情况下填写N/A
。
答案 0 :(得分:2)
使用hasattr
方法:
def attr(x, a):
return x.__getattribute__(a) if hasattr(x, a) else None
print k, attr(v, 'samplekey'), attr(v, 'units'), attr(v, 'comment')
或者,getattr
内置(感谢RemcoGerlich!):
print k, getattr(v, 'samplekey', None)
答案 1 :(得分:1)
使用getattr
,默认情况下该属性不存在:
for k,v in x.iteritems():
print (k,
getattr(v, 'samplekey', 'N/A'),
getattr(v, 'units', 'N/A'),
getattr(v, 'comment', 'N/A'))