gpt4 book ai didi

python - 如果 AWS 实例没有使用 Python 关联的名称标签,则无法打印 "Unknown"

转载 作者:太空宇宙 更新时间:2023-11-04 03:21:19 26 4
gpt4 key购买 nike

下面是我编写的一个程序的一小段代码片段,它获取与之关联的所有实例 ip 和实例标签。我可以使用 boto 轻松地做到这一点,我的问题是如果我找到一个没有任何与之关联的标签名称的 AWS 实例,我想在文件“ip UNKNOWN”中显示/写入。

for reservation in reservations: 
for instances in reservation.instances:
if instances.state == "running":
print instances.private_ip_address,instances.tags['Name']
fileCSV.write("%s %s\n"%(instances.private_ip_address,instances.tags['Name']))
if instances.state == "running" and 'Name' in instances.tags==' ':
print "%s %s" % (instances.private_ip_address,"UNKNOWN")
fileCSV.write("%s %s\n"%(instances.private_ip_address,"UNKNOWN")

这段代码打印出这样的东西

192.124.121.17
192.124.121.11 squid-server
192.124.121.13 apache

我期待:

192.124.121.17 UNKNOWN
192.124.121.11 squid-server
192.124.121.13 apache

最佳答案

您的代码似乎总是捕获第一个 if block 。

您可以尝试在get 方法中使用默认值 字典选项。

试试这个:

for reservation in reservations: 
for instances in reservation.instances:
if instances.state == "running":
name = instances.tags["Name"] if instances.tags["Name"] != "" else "UNKNOWN"
print instances.private_ip_address,name
fileCSV.write("%s %s\n" % (instances.private_ip_address,name))

关于python - 如果 AWS 实例没有使用 Python 关联的名称标签,则无法打印 "Unknown",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34649736/

26 4 0