【发布时间】:2015-08-05 15:14:13
【问题描述】:
情况: 当给定的 HashKey 通过 url 发送到视图时,Django 视图会从服务器(亚马逊的 DynamoDB 表)获取数据项。
问题: 因为它是一个非关系数据库,所以 DynamoDB 表中的某些项目缺少其他项目可能具有的键-> 对于某些获取尝试会引发 KeyError,这意味着如果我在视图中分配字典由于那个 KeyError 将停止整个过程。这意味着我必须为每次获取尝试(字典值分配)try/except KeyError。
问题: 是否有 python 语法允许在分配值时在同一行上进行 try/except ?类似:
'times_a_day': try jsonFormatIndications[elem]['times_a_day']) except: pass
谢谢!
【问题讨论】:
-
回答:不,没有。但是你可以例如
jsonFormatIndications.get(elem)...(如果密钥elem丢失,将提供None)。 -
把它包装在一个函数中。
-
@jonrsharpe 谢谢老兄!这实际上为我完成了工作。我不知道那种语法..
-
@AlonWeissfeld 见docs.python.org/2/library/stdtypes.html#dict.get
标签: python django view try-catch