pexpect &&pxssh

python 3.6

pip  install pexpect

#!/usr/bin/python3
import os
import sys
curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
sys.path.append(rootPath)
import platform
from src import logutils
log=logutils.logger("app",rootstdout=True,handlerList=['I','E'])


if platform.system() =="Windows":
    raise SystemError('Windows目前不支持 pxssh')
elif platform.system() =="Linux":
    try:
        from pexpect import pxssh

    except Exception:
        raise ImportError('Windows目前不支持 pxssh')

def px_ssh(host,user,pwd):
        px=pxssh.pxssh()
        px.login(server=host,username=user,password=pwd)
        px.sendline("echo ''|telnet 192.168.81.129 8882 ")
        px.prompt()
        log.info(deal_std(px.before))
        px.logout()

def deal_std(res):
    std=''
    if type(res).__name__=='list':
        return ''.join(res)
    elif type(res).__name__=="bytes":
        std=res.decode("utf-8")
        return std
    elif type(res).__name__ == "str":
        return res
    for i  in res:
        output=i.decode("utf-8")
        std +=output
    return std

  

[root@hostuser src]# vi pexpect_ssh.py 
[root@hostuser src]# python3 pexpect_ssh.py 
[INFO]2019-05-15 00:23:30 Wed --app-- pexpect_ssh.py:
df -m &&ps -ef|grep java
Filesystem              1M-blocks  Used Available Use% Mounted on
/dev/mapper/centos-root     27627  8618     19009  32% /
devtmpfs                      894     0       894   0% /dev
tmpfs                         910     1       910   1% /dev/shm
tmpfs                         910    11       900   2% /run
tmpfs                         910     0       910   0% /sys/fs/cgroup
/dev/sda1                    1014   232       783  23% /boot
tmpfs                         182     1       182   1% /run/user/42
tmpfs                         182     0       182   0% /run/user/0
root      21286  21238  0 00:23 pts/2    00:00:00 grep --color=auto java

[root@hostuser src]# cat pexpect_ssh.py
原文地址:https://www.cnblogs.com/SunshineKimi/p/10867043.html