我正在使用pexpect,
为cisco设备编写脚本import pexpect
ssh_command = ' '
uname = ' '
pass = ' '
fout = file('logfile.txt','w')
child = pexpect.spawn (ssh_command)
print 'ssh initiated'
child.expect('.*name:')
child.sendline(uname)
child.expect('.*assword:')
child.sendline(pass)
child.expect('#')
child.sendline('sh ip int br')
child.logfile = fout
child.expect('#')
print(child.before)
child.sendline('sh hardware')
child.expect(['#',pexpect.EOF])
child.logfile = fout
fout.close()
由于某种原因,它发出第一个命令,我可以看到接口的输出,但脚本挂起。当我退出脚本时,它会在
上引发错误child.expect(['#',pexpect.EOF])
似乎无法弄清楚它为什么会停在那里。
EDIT 追溯:
Traceback (most recent call last):
File "helloworld.py", line 18, in <module>
child.expect('#')
当我在没有print (child.before)
的情况下运行时,我看不到输出,但它有效!它写入文件。
当我包含print (child.before)
命令时,为什么脚本会挂起?