pexpect模块

梦想的初衷 提交于 2019-11-30 04:31:33

pexpect模块

自动交互式模块

 

vim test.py

#!/usr/bin/python3

import pexpect

ssh = pexpect.spawn('ssh 192.168.132.121')

res = ssh.expect(['password','(yes/no)',pexpect.EOF,pexpect.TIMEOUT],timeout=10)

print(res)

if res == 0:

    ssh.sendline('2430')

    ssh.expect('#')

    ssh.sendline('ifconfig')

elif res == 1:

    ssh.sendline('yes')

    ssh.expect('password')

    ssh.sendline('2430')

    ssh.expect('#')

    ssh.sendline('ip a')

elif res == 2:

    print('error')

else:

    print('time out')

ssh.interact()

 

执行文件:

方法1:

python3 test.py

方法2:

chmod 777 test.py

./test.py(test.py在当前目录下)

注意:

²  pexpect.spawn:当前主机输入命令

²  ssh.expect:对命令的输出作内容匹配,会返回一个索引值,print可显示。

²  ssh.sendline:交互界面输入命令或登录后输入命令并回车,ssh.send不会自动回车

²  ssh.interact():登录到输入交互信息后的界面,可以看到命令的输出结果。执行上面文件,如果不加ssh.interact(),那么将看不到ifconfig的输出信息。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!