以下是我的Pexpect脚本:
import pexpect
child = pexpect.spawn('telnet 10.1.1.1')
child.logfile = sys.stdout
child.expect(":")
child.send("admin" + "\r")
child.expect(":")
child.send("test" + "\r")
child.send("\r\n")
child.expect(">")
child.send("enable" + "\r")
child.expect("#")
child.send("self" + "\r")
child.expect("#")
n=1
while (n < 5):
#n1 = float(n)
child.send("interface vlan" (float (n)) + "\r") # ISSUE IS HERE
child.expect("#")
n = n+1
child.expect("#")
我正在使用上面的脚本来配置路由器中VLAN的数量。当我运行这个脚本时,我得到&#34;跟踪错误...类型(str)不能连接&#34;。我试图将其转换为&#34; int()&#34;和&#34; float()&#34;。但它不起作用。
我想在&#34; child.expect()&#34;中发送以下行:
interface vlan 1
interface vlan 2
interface vlan 3
interface vlan 4
interface vlan 5
I am trying to use while loop to print number from 1 to 5.
请告诉我......如果您有任何想法可以解决此问题。
谢谢,
库马尔。
答案 0 :(得分:0)
您在%
之后缺少"interface vlan"
以及格式说明符。该行应如下所示:
child.send("interface vlan %d" % (n) + "\r")