Python模块之pxssh

pxssh模块用于在python中ssh远程连接,执行命令,返回结果,但注意不支持Windows系统

#!/usr/bin/env python

#-*- coding:utf-8 -*-

from pexpect import pxssh

host = "172.16.1.15"
username = "root"
password = "123456"
cmd1 = "ifconfig"
cmd2 = "uptime"

try:
    s = pxssh.pxssh()      #实例化一个对象
    s.login(host,username,password)      #登录

    s.sendline(cmd1)       #执行命令
    s.prompt()             #匹配cmd1执行后的下一步操作的命令提示符
    print s.before         #输出命令提示符之前的内容

    s.sendline(cmd2)
    s.prompt()             #s.prompt()按顺序匹配命令提示符,即如果注释上一个s.prompt(),这次会匹配cmd1执行后的命令提示符,s.before也只会输出cmd1返回的结果
    print s.before         #s.before指的是两个命令提示符之间的内容,即如果注释上一个print s.before,这次也只会输出cmd2返回的结果,而不是cmd1+cmd2的内容

    s.logout()             #登出

except :
    print "pxssh failed on login."

最佳实践

s.sendline(cmd)和s.prompt()连着写,可以不输出s.before

posted @ 2018-01-04 17:36  Peterer~王勇  阅读(4262)  评论(0编辑  收藏  举报