При использовании Python Exscript необходимо создать регулярное выражение для set_prompt() для коммутатора cisco
Трудно понять, как написать регулярное выражение в python/exscript, чтобы подсказка соответствовала выводу, когда я запускаю "copy run tftp"...
Например, приглашение меняется на...
"Адрес или имя удаленного хоста []?"
тогда к...
"Имя файла назначения [lab-3560.confg]?"
Я знаю, что мне нужно установить set_prompt() перед выполнением команды conn.execute('copy run tftp'), просто не знаю, какой синтаксис (ы)
1 ответ
Есть так много способов сделать это, вот пример:
Так что все, что вам нужно сделать, это проанализировать возвращенное приглашение / текст, вот небольшой пример из этой ссылки:
import pexpect
switch_ip = "10.0.0.1"
switch_un = "user"
switch_pw = "s3cr3t"
switch_port = "Gi2/0/2"
switch_vlan = 300
config = "lab-3560.confg"
child = pexpect.spawn('ssh %s@%s' % (switch_un, switch_ip))
child.logfile = sys.stdout
child.timeout = 4
child.expect('Address or name of remote host []?')
child.sendline(switch_ip)
child.expect('Destination filename [lab-3560.confg]?')
child.sendline(config)