python之pexpect+pxssh模块的使用心得 (转)

来源:互联网 发布:爬虫软件官方下载 编辑:程序博客网 时间:2024/05/21 09:11

看到这个表哥写的很好就转载了,也方便以后自己使用
原文:http://blog.sina.com.cn/s/blog_1574497330102wjbj.html

今天学习了python的pexpect的使用,此模块的作用是提供自动化的交互,极大的方便了处理一系列需要手动的输入问题
linux用bash,windows用cmd来执行命令行,我们在引入模块后可以用spawn来运行相应的命令.
我们首先要了解 SSH连接的命令是: SSH user@ip
然后我们需要发送这个命令 利用的方法是command=pecpect.spawn( “SSH”+ user+”@”+ip)
接下来 我们会获得一个响应,我们用command.expect方法来匹配响应num=command.expect([‘1’,’2’,’3’]),如果我们获得的响应是1,那么就返回给num结果0,如果2就返回1,是返回相应的list位置,这样我们可以用条件语句来判断返回值是什么.
收到响应后发送数据一般用sendline,sendline在发送后会加一个回车,能够模拟对命令行的输入.

综上,我们需要的方法有三个:spawn expect sendline,用法上面已经说明了.

pxssh模块是pexpect的SSH简化用法,可以直接用pxssh进行SSH的连接,使用这个模块,会比pexpect简化一些代码,他的主要方法是login(),logout(),prompt()三个
首先先创建一个对象p=pxssh.pxssh(),然后登陆p.login(host,username,password)连接成功进行下一步,不成功会报错,还可以p.sendline()—发送命令行命令 p.prompt()来进行相应的操作

0 0
原创粉丝点击