【问题标题】:What is the best solution to handle Keyerror Exception in python在 python 中处理 Keyerror 异常的最佳解决方案是什么
【发布时间】:2020-04-18 18:15:40
【问题描述】:

我有一个简单的类如下:

class Test(object):
    def __init__(self):
        first_dict :  {'author': 'Author', 'status': 'Status'}
        second_dict :  {'Author': 'owner', 'Status': 'current-status'}
        third_dict :  {'owner': 'author', 'current-status': 'status'}
obj = Test()

如果我的代码想要使用以下错误键访问任何字典,我想处理。

obj.second_dict['some_wrong_key']

请注意,second_dict 依赖于 1st,third_dict 依赖于 2nd。

【问题讨论】:

  • 你可以尝试一下,除了。你如何处理它取决于你想做什么。
  • 不清楚你在问什么,你处理KeyError 就像使用try: ... except KeyError: ... 处理任何其他异常一样。

标签: python keyerror


【解决方案1】:

您可以使用get 函数。如果找不到key,它将返回None。此外,如果找不到key,它会返回一个可选参数。

obj.second_dict.get('some_wrong_key')  # returns None (no error)
obj.second_dict.get('some_wrong_key', "I'm missing here")  # returns "I'm missing here"

【讨论】: