我有这段代码,它在没有try部分的情况下按预期工作,并且得到了两个答案
while counter < (len(response['Reservations'])):
INSTANCEID = response['Reservations'][counter]['Instances'][0]['InstanceId']
ITYPE = response['Reservations'][counter]['Instances'][0]['InstanceType']
print('ID: %s, Type: %s') % (INSTANCEID, ITYPE)
counter += 1
try:
IPROFILE = response['Reservations'][counter]['Instances'][***<<2nd counter??>>***]['IamInstanceProfile'][0]['Arn']
print IPROFILE
counter += 1
return IPROFILE
except:
print('No ARN found')
输出:
ID: i-abcd123, Type: t2.micro.
ID: i-defg456, Type: t2.large
一旦我添加了try
部分,我只得到以下答案:
ID: i-abcd123, Type: t2.micro.
ARN: arn:<VERY_LONG_STRING_OF_ARN>
这让我相信while循环并没有像它应该的那样迭代。
这就引出了我的问题:我能在一句话中使用2个“计数器”吗?
我是否需要像这样分离过滤器(例如,不适合我)
IPROFILE = response['Reservations'][counter]['Instances']
I2PROFILE = IPROFILE[0]['IamInstanceProfile'][0]['Arn']
也许在第一个“计数器”下面的另一个“计数器”使用另一个while循环
我的筛选似乎有错误,
结果我不需要第二个计数器,我的+1计数器放错地方了
我对回复者的感谢:你帮了我很多
这是下一代的工作代码…:
你的代码不是很像Python。通常,不需要使用计数器。我看不到您的完整代码,但应该更像:
相关问题 更多 >
编程相关推荐