#python-2.6
#python-2.6
Вопрос:
Я новичок в python, и мне нужна ваша помощь, чтобы улучшить часть моего скрипта, чтобы сделать его более сложным.
==================================== a.py
устройства = [‘x.x.x.x’, ‘x.x.x.x’, ‘x.x.x.x’]
============================= ОСНОВНОЙ КОД
из импортируемых устройств
для ip в устройствах:
ssh connection
значение = 1;
if value == 1:
open a specific file
run the commands from this file.
elif value == 2:
open a specific file
run the commands from this file.
elif value == 3:
open a specific file
run the commands from this file.
=============================================
Проблема: для каждого IP-адреса, который он хранит в a.py файл, мне нужно запустить определенный набор команд. С помощью оператора IF он работает нормально, но если я добавлю больше IP-адреса на a.py файл должен добавить мой код.
Спасибо вам всем.
Комментарии:
1. Независимо от этого вопроса, если вы новичок в Python, я настоятельно рекомендую вам использовать Python3.x вместо Python2.x. Python2 уже некоторое время является EOL и больше нигде не должен использоваться.
2. Что касается вашего вопроса: можно ли добавить ваш пример кода, заключенный в блок кодирования? Вы можете щелкнуть фигурные скобки в редакторе, чтобы отформатировать блок кода. Потому что в настоящее время трудно отделить ваш код от дополнительной информации.
Ответ №1:
Надеюсь, я правильно интерпретирую ваш вопрос. Поправьте меня, если это не так.
В настоящее время у вас есть список с 3 IP-адресами, и вы обрабатываете их с помощью трех операторов if. Проблема в том, что если вы добавите больше записей в свой список, вам придется вручную добавлять дополнительные операторы if в свой код?
Если это предположение о вашем вопросе верно, то действительно. Есть лучший способ сделать это:
devices = ['x.x.x.x', 'x.x.x.x', 'x.x.x.x']
for dev in devices:
do_something(dev)
Это будет перебирать все устройства в вашем списке и выполнять один и тот же код на каждом устройстве.