我是 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"))
添加回答
举报
0/150
提交
取消