Я пишу скрипт, который работает на одном устройстве (занимаюсь автоматизацией). Например, у меня есть устройство с IP-адресом, поэтому в настоящее время у меня есть настройки кода с переменной. ip1 = 127.0.0.1
.
Но теперь я хочу иметь возможность касаться примерно 100 устройств, поэтому я хочу создать файл или лучшую рекомендацию, например, иметь:
Device 1 127.0.0.1
Device 2 127.0.0.2
После вызова сделан либо для, либо, код выполняется. Я думаю, что лучший способ - создать «файл словаря». Может ли кто-нибудь указать мне правильное направление для этого? Или я буду создавать файл CSV с двумя столбцами? Каков наилучший метод рекомендации? Кто-то, казалось, сказал мне создать файл словаря, но я не уверен, что это влечет за собой.
Мой код в настоящее время что-то вроде
ip1 = "127.0.0.0.1"
username = "username"
password = "password"
print("\nHello, user You are connecting to ", ip, "\n")
ssh_conn = paramiko.SSHClient()
ssh_conn.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_conn.connect(ip, port=22, username=username,
password=password,
look_for_keys=False, allow_agent=False)
Так что просто для пояснения, Я пытаюсь заменить ip1 =
файлом, в котором будет храниться почти 10-100 IP-адресов, и на основании «имени устройства» будет выполняться код.
Я знаю, что пример выглядит следующим образом:
released = {
"iphone": 2007,
"iphone 3G": 2008,
"iphone 3GS": 2009,
"iphone 4": 2010,
"iphone 4S": 2011,
"iphone 5": 2012
}
for item in released:
if "iphone 5" in released:
print("Key found")
break
else:
print("No keys found")
Но что мне делать, если я собираюсь добавить 100 ключевых значений?
EDIT
Я go эта идея,
with open('inventory.txt', 'r') as f:
answer = {}
for line in f:
line = line.split()
if not line:
continue
answer[line[0]] = line[1:]
id = "1299"
for i in answer[store_num]:
host = i
ssh = ConnectHandler(device_type='cisco_ios', host=host, username='asd', password='asdsssasd')
print("\nConnection successful with: ", host, "\n")
out = ssh.send_command(command)
print(out)
Но я получаю сообщение об ошибке подключения к чему-либо.