python - 如何在Python中的嵌入式字典中获取字典的名称

标签 python dictionary error-handling flask

我想列出一个错误列表,这些错误可以在我用Flask构建的API中返回。由于我不知道如何在内部执行此操作,因此我想到了以下几点:

ERRORS = {
    'something_went_wrong': {
        'code': 1, 
        'type': 'something_went_wrong', 
        'message': 'Something went horribly wrong. Check yo self.'
    },
    'something_else_went_wrong': {
        'code': 2, 
        'type': 'something_else_went_wrong', 
        'message': 'Now something else went wrong..'
    },
}

如果然后我想创建一个错误响应,我可以简单地从dict中获取错误,然后将其传递给返回错误的函数。到目前为止,一切正常。我唯一不喜欢的是,我将type列出了两倍。首先是字典的键,然后是字典中的'type'。有没有一种方法可以将类型引用为封装字典中已知的键?

欢迎所有提示;也关于如何改善错误报告设置.. :)

最佳答案

为了使您的结构保持原样,请尝试使用辅助函数,即

def printError(err_type):
    if ERRORS.has_key(err_type):
        print "Type:", err_type
        print "Message:", ERRORS[err_type].get("message")
        print "Code:", ERRORS[err_type].get("code")

因此,您将引用printError("something_went_wrong")引用类型,即在字典中定义为键的类型。

关于python - 如何在Python中的嵌入式字典中获取字典的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26628448/

相关文章:

html - 从AJAX向用户显示错误时出现问题

python - 如何处理Python错误:tornado.application:Uncaught exception

c++ - 代码c++ VS 2010中的LPCWSTR到字符串转换问题

python - 使用 Python 从 Linux 核心服务器下载经过身份验证的 Django 应用程序的文件

python - 使用 pandas dataframe 时使用 append 后列的顺序发生了变化

python - 在 Python 中列出类属性及其类型

Python: 'if not any' 使用字典

java - 在 Java 8 中使用 Lambda 遍历一个 Map of Maps?

python - 如何等待对象不可点击?

python - Python 中有一个迭代字典