pip install pexpect
#!/usr/bin/env python
import pexpect
address = '192.168.2.1'
userName = 'root'
password = '12345678'
cmd = 'telnet ' + address
prompt = '[$#>]'
child = pexpect.spawn(cmd)
index = child.expect(['login', pexpect.EOF, pexpect.TIMEOUT], timeout=1)
if index == 0:
child.sendline(userName)
index = child.expect('Password', timeout=1)
child.sendline(password)
child.expect(prompt, timeout=1)
child.sendline("ls -al")
child.expect("ls -al", timeout=1)
child.expect(prompt, timeout=1)
print(child.before)
else:
print('expect "login", but get EOF or TIMEOUT')
child.close()
此代码示例展示了如何利用Python的Pexpect库实现远程设备(如路由器或交换机)的自动telnet登录,并执行特定命令(如`ls-al`)。首先,它建立telnet连接,然后期待'login'提示,输入用户名和密码,最后执行并捕获命令输出。
9404

被折叠的 条评论
为什么被折叠?



