使用Python Exscript需要为cisco开关创建set_prompt()的正则表达式

时间:2016-08-16 20:41:10

标签: python cisco exscript

很难弄清楚如何在python / exscript中编写正则表达式,以便在运行时提示符匹配输出" copy run tftp" ...

例如,提示更改为...

"远程主机的地址或名称[]?"

然后到......

"目的地文件名[lab-3560.confg]?"

我知道我需要设置" set_prompt()"在执行命令conn.execute(' copy run tftp')之前,对正确的语法没有任何线索

1 个答案:

答案 0 :(得分:0)

有很多方法可以做到这一点,这是一个例子:

所以你需要做的就是解析返回的提示/文本,这是一个小例子link

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)