将输出引用到哈希表:错误处理

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']