Python 使用dpath时如何避免KeyError?

Python 使用dpath时如何避免KeyError?,python,dpath,Python,Dpath,我正在使用dpath以更干净的方式访问嵌套字典 使用dpath,我可以执行以下操作: 结果=dpath.util.getdata,/data/attributes/policy\u revision/policy 而不是: 结果=data.getdata,{}.getattributes,{}.getpolicy_revision,{}.getpolicy, 然而,使用dpath的唯一问题是,当路径中的任何键都不存在时,我会得到一个keyrerror。然而,使用get允许我在找不到键的情况下指定

我正在使用dpath以更干净的方式访问嵌套字典

使用dpath,我可以执行以下操作:

结果=dpath.util.getdata,/data/attributes/policy\u revision/policy 而不是:

结果=data.getdata,{}.getattributes,{}.getpolicy_revision,{}.getpolicy, 然而,使用dpath的唯一问题是,当路径中的任何键都不存在时,我会得到一个keyrerror。然而,使用get允许我在找不到键的情况下指定默认值

我可以尝试捕获KeyError异常,但这会使代码变得更长更复杂,失去dpath最初给我的整洁性

我的问题是,如何在dpath中指定默认值


这是他们的文档,但我没有找到任何相关内容:

您可以找到他们如何在github回购协议中处理默认值:

线路:148173~175

代码:

结果:

-1
30

您可以在github repo中找到它们如何处理默认值:

线路:148173~175

代码:

结果:

-1
30

我猜你必须用dpathI尝试/排除KeyError我猜你必须用dpathI尝试/排除KeyError查找@leaf_yakitori,谢谢!我不知道为什么不是documented@Xar也许他们忘了记录它,你可以在他们的github回购协议上提出一个问题来报告。太棒了,找到@leaf_yakitori,谢谢!我不知道为什么不是documented@Xar也许他们忘了记录,你可以在他们的github回购协议上提出问题来报告。