Я недавно начал программировать с Python. Я работаю сетевым инженером и в настоящее время создаю программу для извлечения «дампов состояния» с устройств Ciena. Я использую netmiko для подключения к устройству. Теперь я всегда получаю следующую ошибку:
OSError: Шаблон поиска никогда не обнаруживается в send_command_expect: 5160_1>
"5160_1>" - это имя хоста / приглашение на коммутаторе. Я прочитал, что я могу дать "wait_string" "send_command". К сожалению, это не имеет никакого эффекта, и я все еще получаю эту ошибку.
Это функция, с помощью которой я создаю дамп состояния и вызываю функцию для загрузки файла.
def create_sd():
for ip in sw_connect_ips:
try:
sw_connection = ConnectHandler(device_type=sw_dev_type, host=ip, username=sw_usr, password=sw_pw)
try:
print('\nconnnected to host > ' + ip + '\n')
hostname = sw_connection.find_prompt()
print('hostname of device > ' + hostname)
sw_connection.send_command('system server sftp enable', expect_string=hostname)
sw_connection.send_command('configuration save', expect_string=hostname)
sw_output = sw_connection.send_command('system state-dump file-name ' + ip + '_sd_timestamp_' + str(date.hour) + '_' + str(date.minute) + '_' + str(date.second), expect_string=hostname + ' ')
filename = ip + '_sd_timestamp_' + str(date.hour) + '_' + str(date.minute) + '_' + str(date.second)
print('got state-dump ' + filename + ' from host > ' + ip)
logging.debug(sw_output)
logging.debug(sw_connection)
sw_connection.disconnect()
try:
sftp_get(filename, ip)
except:
raise Exception('scp failed')
except:
raise Exception('command does not exist on switch > ' + ip)
except:
raise SSHException('unable to connect to switch check username, password and ip address')
Дон Не знаю, все ли исключения имеют такой смысл. Может быть, у кого-то есть совет для меня.
Заранее спасибо.
Редактировать: На мой взгляд, странно, что это происходит только с некоторыми переключателями.