为了账号安全,请及时绑定邮箱和手机立即绑定

字典键的问题

字典键的问题

胡子哥哥 2022-05-11 15:51:18
我是 Python 新手,我的代码需要一些支持。我正在使用一些通用 API 来接收以 JSON 格式返回的有关网络设备的信息这是我的代码def device_config():            init = login()            vedge_api = os.path.join(vmanage_url, 'dataservice/system/device/vedge')            get = token[vmanage_url].get(vedge_api, verify=False)            device_inventory = json.loads(get.content)            inventory_json = device_inventory['data']            print(inventory_json)我从 inventory_json 得到以下输出(部分输出)这里的问题是输出在一些包含多个字典的列表中,其中一些不提供 deviceIP 的键值for key in inventory_json:    print(key['deviceIP'])...         print(key['deviceIP'])...     10.10.1.63    10.10.1.60    10.10.1.61    10.10.1.62    Traceback (most recent call last):      File "<stdin>", line 2, in <module>    KeyError: 'deviceIP'所以我得到了 10.10.1.63 等的初始结果,然后在没有这个键的情况下点击字典我尝试了一些 True/False 逻辑或 if key['deviceIP'] 在逻辑中但对我不起作用。您能否提一些建议?
查看完整描述

2 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

您可以先检查然后打印,如下所示:

if 'deviceIP' in key:
      print(key['deviceIP'])

或者,您可以使用get(key,default_value)方法dictionary

print(key.get('deviceIP',"No deviceIP"))


查看完整回答
反对 回复 2022-05-11
?
ITMISS

TA贡献1871条经验 获得超8个赞

您可以使用以下方法检查密钥是否存在:

if 'deviceIP' in key:
      print(key['deviceIP'])


查看完整回答
反对 回复 2022-05-11
  • 2 回答
  • 0 关注
  • 122 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信