繁体   English   中英

尝试访问字典中的键时出现 KeyError

[英]Getting KeyError when trying to access key in a dictionary

我正在使用 AWS 的 Boto3 来描述安全组并尝试访问特定区域中可用的所有安全组的FromPort密钥。 但是当我尝试这样做时,它会列出一些端口,然后抛出KeyError

代码:

import boto3
    
client = boto3.client('ec2')
response = client.describe_security_groups()

for sg in response['SecurityGroups']:
    for ip in sg['IpPermissions']:
        print(ip['FromPort'])

输出:

80
5432
22
22
3622
8443
3
80
3622
8080
5432
22
8443
443
Traceback (most recent call last):
  File ".\a.py", line 8, in <module>
    print(ip['FromPort'])
KeyError: 'FromPort'

您的代码假设您尝试打印的条目始终在您返回的响应中。 您可以像这样使代码更健壮:

代替

ip['FromPort'] 

ip.get('FromPort','((missing))')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM