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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM