Я пытаюсь написать скрипт Python для сбора данных моего сетевого устройства, но всегда получается только последний элемент из созданного списка. Сначала я так думаю, потому что \n из строк чтения, но после того, как нашел какое-то решение для удаления, оно все равно не работает. Я так застрял в этом, пожалуйста, помогите.
Ввод из исходного файла
10.190.98.31
10.190.98.32
10.191.98.31
10.191.98.32
import paramiko as pk
import netmiko as nk
import re
import time
from datetime import datetime
file_path = r'xx\Source_IP.txt'
output = open(file_path).readlines()
output = [x.rstrip('\n') for x in output]
username_for_ssh = input('Enter username: ')
password_for_ssh = input('Enter password: ')
for i in range(len(output)):
time.sleep(5)
ssh = pk.SSHClient()
ssh.set_missing_host_key_policy(pk.AutoAddPolicy())
timestamp = datetime.now()
try:
username = username_for_ssh
password = password_for_ssh
ssh.connect(hostname=output,username=username,password=password,look_for_keys=False)
shell = ssh.invoke_shell()
time.sleep(2)
shell.send('ter le 0'+'\n'+'show run'+'\n')
time.sleep(2)
result = shell.recv(65535).decode('utf-8')
print('Connection success.',timestamp)
try:
local_output_file = r'D:\2201890\Scripts\Test\output_'+output+'.txt'
with open(local_output_file, 'w') as output_file:
output_file.write(result)
time.sleep(2)
print('Create output success.',timestamp)
except:
print('Create output failed.',timestamp)
except:
print('Connection failed.',timestamp)
Вывод
Вывод
Connection failed. 2024-06-28 16:55:47.847675
Connection failed. 2024-06-28 16:55:52.870029
Connection failed. 2024-06-28 16:55:57.871382
Connection success. 2024-06-28 16:56:02.872735
Create output success. 2024-06-28 16:56:02.872735
Подробнее здесь: https://stackoverflow.com/questions/786 ... h-txt-file