zoukankan      html  css  js  c++  java
  • python paramiko模块远程执行多条命令

    最近一直在用python的paramiko执行远程命令,发现如果直接写的话在每条命令后加分号执行时会报错,如果不加分号,分一条命令一条命令地执行,起不到作用,如切换路径等,后面在网上找到了相关的方法,只要在exec_command(cmd,get_pty=True)在命令语句后加get_pty=True即可。代码如下:

        def exec_command(self,cmd):
            client = paramiko.SSHClient()
            try:
                client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
                client.connect(self.hostip, self.port, username=self.username, password=self.pwd, timeout=20)
                stdin, stdout, stderr = client.exec_command(cmd,get_pty=True)
                # logWriteToTxt(self.sitename + "执行"+cmd)
                res=""
                results = stdout.readlines()
    
                for line in results:
                    res+=line
                try:
                    err=stderr.readlines()
                    for line in err:
                        res+=line
                except:
                    pass
                    # results = stdout.readlines()
                # logWriteToTxt("在" + self.sitename + "执行"+cmd + res)
    
                return res
            except:
                pass
            finally:
                client.close()
    

      

  • 相关阅读:
    AngularJS XMLHttpRequest
    AngularJS服务
    angularJS过滤器
    AngularJ控制器
    angular Scope(作用域)
    angular Model 指令
    angular指令
    微信小程序调用微信支付
    微信小程序一直保持登陆状态
    微信小程序ajax请求数据及一些方法
  • 原文地址:https://www.cnblogs.com/linwenbin/p/10972632.html
Copyright © 2011-2022 走看看