Как передать скрипту аргументы из тхт

пишу скрипт на питоне в котором необходимо по очереди подключаться к разным коммутаторам из списка в тхт файле.В этом файле содержаться только ip адреса подключений ,а я хочу добавить в него логины и пароли от цисок,чтобы скрипт сразу конектился без участия пользователя.Пример строки в тхт файле-

192.168.1.2 : логинциски : парольциски : энейблпароль :портподключения

Вопрос в том как это реализовать.

import sys
import time
from netmiko import ConnectHandler
import os
import cmd
import datetime
import re
import shutil

now = datetime.datetime.now()
device_params={}
with open('ip2.txt', 'r') as f:
    nums = f.read().splitlines()
    for el in nums:
        if el:
            ip, user, password, enable_password, port, = el.replace(' ', '').split(":")
            device_params = {
                'device_type': 'cisco_ios_telnet',
                'ip': ip,
                'username': user,
                'password': password,
                'secret': enable_password,
                'port': port
            }
            print(device_params)
        try:
            connection = ConnectHandler(**device_params)
            connection.enable()
            output = connection.send_command('show run')
            prompt = connection.find_prompt()
            hostname = prompt[:-1]
            path = 'C:/adb/'
            folder_names = str(now.year) + '-' + str(now.month) + '-' + str(now.day)


            def createFolderForTiff(folder_names, path):
                _fold_name = folder_names
                _path = path

                if (os.path.exists(_path + '/' + _fold_name)):
                    print('Папка с именем ' + folder_names + ' уже существует')
                else:
                    os.chdir(_path)
                    os.mkdir(_fold_name)


            createFolderForTiff(folder_names, path)

            today = str(now.year) + '-' + str(now.month) + '-' + str(now.day)
            file = today + '-' + hostname + '.txt'
            with open(path + folder_names + '/' + file, 'w') as backup:
                backup.write(output)
                print('Backup of ' + hostname + ' completed successfuly')
                print('#' * 30)
            connection.disconnect()
        except ():
            device_type=device_params.setdefault('device_type','cisco_ios')
            connection = ConnectHandler(**device_params)
            connection.enable()
            output = connection.send_command('show run')
            prompt = connection.find_prompt()
            hostname = prompt[:-1]
            path = 'C:/adb/'
            folder_names = str(now.year) + '-' + str(now.month) + '-' + str(now.day)
            def createFolderForTiff(folder_names, path):
                _fold_name = folder_names
                _path = path

                if (os.path.exists(_path + '/' + _fold_name)):
                    print('Папка с именем ' + folder_names + ' уже существует')
                else:
                    os.chdir(_path)
                    os.mkdir(_fold_name)

            createFolderForTiff(folder_names, path)

            today = str(now.year) + '-' + str(now.month) + '-' + str(now.day)
            file = today + '-' + hostname + '.txt'
            with open (path+folder_names+'/'+file, 'w') as backup:
                backup.write(output)
                print('Backup of ' + hostname + ' completed successfuly')
                print('#' *30)
            connection.disconnect()

Ответы (1 шт):

Автор решения: Vadim.Sharoikin

Если трудности именно с тем что не знаете как получить параметры из текстового файла

device_params={}
with open('text.txt', 'r') as f:
    nums = f.read().splitlines() 
    for el in nums:
        if el:
            ip, user, password, enable_password, port, = el.replace(' ', '').split(":")
            device_params = {
                'device_type': 'cisco_ios',
                'ip': ip,
                'username': user,
                'password': password,
                'secret': enable_password,
                'port': port
            }
            print(device_params)

в итоге получаем вывод

подключение к ip
192.168.1.2
вводим логин
admin
подключение к ip
192.168.1.3
вводим логин
admin
подключение к ip
192.168.1.4
вводим логин
admin
подключение к ip
192.168.1.5
вводим логин
admin
→ Ссылка