将输出引用到哈希表:错误处理
Refer output to hashtable : Error Handling
如果密钥在 eqType 中不可用,我该如何处理错误
我的意思是,如果它不在 eqType 字典中,那么 return equip['type']
值
eqType ={
10023: 'ONT-SFU',
10040: 'OLT1T3',
10048: 'OLT1T1',
10050: 'OLT1T0',
}
extend = 'Name:', equip['name'] \
, "\n" 'Desc:', equip['description'] \
, "\n" 'Serial:', equip['serialNumber'] \
, "\n" 'SWversion:', equip['swVersion'] \
, "\n" 'Admin:', admstate[equip['admin']] \
, "\n" 'Type:', eqType[equip['type']]
print(*extend)
这是 dict.get() 的一个很好的用例:
x = eqType.get(equip['type'], equip['type'])
如果密钥丢失,可选的第二个参数允许您将默认值指定为 return。
如果你的字典只包含 "truthy" 个值,你也可以这样做:
x = eqType.get(equip['type']) or equip['type']
您也可以使用 try/except,但不能在一行中使用:
try:
x = eqType[equip['type']]
except KeyError:
x = equip['type']
如果密钥在 eqType 中不可用,我该如何处理错误
我的意思是,如果它不在 eqType 字典中,那么 return equip['type']
值
eqType ={
10023: 'ONT-SFU',
10040: 'OLT1T3',
10048: 'OLT1T1',
10050: 'OLT1T0',
}
extend = 'Name:', equip['name'] \
, "\n" 'Desc:', equip['description'] \
, "\n" 'Serial:', equip['serialNumber'] \
, "\n" 'SWversion:', equip['swVersion'] \
, "\n" 'Admin:', admstate[equip['admin']] \
, "\n" 'Type:', eqType[equip['type']]
print(*extend)
这是 dict.get() 的一个很好的用例:
x = eqType.get(equip['type'], equip['type'])
如果密钥丢失,可选的第二个参数允许您将默认值指定为 return。
如果你的字典只包含 "truthy" 个值,你也可以这样做:
x = eqType.get(equip['type']) or equip['type']
您也可以使用 try/except,但不能在一行中使用:
try:
x = eqType[equip['type']]
except KeyError:
x = equip['type']