2017-06-09 3 views
0

Meine Codeanforderung ist in etwa so.Zählerbasierte Zeichenfolge erhöhen, um nach einer Zeichenfolge in einer Liste zu suchen

Mit meiner Variable Temp_name möchte ich eine Liste suchen. Wenn es in der Liste nicht existiert, möchte ich das selbe verwenden. Wenn es existiert, dann werde ich die Zählung um 1 erhöhen und erneut suchen, bis ich einen eindeutigen Namen finde, der nicht existiert.

count = 1 
name = department 
temp_name = "name" + '-' + str(count) 

Meine Liste ist wie folgt:

departments { 
department-1 
department-7 
department-2 
department-6 
department-9 
} 

Könnten Sie bitte einen Blick.

Ich frage im Grunde alle EC2-Instanzen in AWS nach ihren Namen.

import boto3 
ec2= boto3.resource('ec2') 

# Get information for all running instances 
running_instances = ec2.instances.filter(Filters=[{ 
    'Name': 'instance-state-name', 
    'Values': ['running']}]) 

for instance in running_instances: 
    for tag in instance.tags: 
     if 'Name'in tag['Key']: 
      name = tag['Value'] 
      print name 

Und möchten eine neue Instanz mit einem eindeutigen Namen drehen, der nicht existiert.

+0

Diese Liste ist kein gültiger Python-Code. Hast du ein laufendes Programm? – Flurin

Antwort

0

Es ist ein wenig Verwirrung zwischen Namen und Werte von Variablen hier:

name = department 
temp_name = "name" + '-' + str(count) 

Sie suchen department-1 usw., aber temp_name enthält tatsächlich name-1 usw. Fixing dass

departments = ["department-1","department-7","department-2","department-6","department-9"] 
count = 1 
temp_name = "department-%d" % count 
while temp_name in departments: 
    count += 1 
    temp_name = "department-%d" % count 
print temp_name 

Und danach wahrscheinlich

departments.append(temp_name) 
Verwandte Themen