.bat文件转换为打开腻子会话并将其加载到Python中

时间:2019-02-05 12:10:50

标签: python subprocess putty

我有一个.bat文件,该文件带有一些参数并使用python连接到腻子。下面是供参考的代码。

pushd c:
start /min Putty.exe -load SessionName -l UserName -pw Password

我正在使用putty1.bat在python中调用os.system文件,如下所述:

os.system('putty1.bat')

我已经看到一些与subprocess相关的参考资料,但这对我如何传递上述参数没有帮助。

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用Plink,这是一个命令行应用程序。 here more info

import subprocess

sp = subprocess.Popen(['plink', '-ssh', '-l', 'username', '-pw', 'password', 'SessionName'], \
                     shell = False, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
sp.communicate('lmstat -a\nexit\n'.encode())

或尝试使用paramiko

import paramiko
import socket


class Point:
    def __init__(self,host,username,password,port):
        self.host = host
        self.username = username
        self.password = password
        self.port = port

    def connect(self):
        """Login to the remote server"""

        print("Establishing ssh connection")
        self.client = paramiko.SSHClient()
        self.client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        # Connect to the server
        self.client.connect(hostname=self.host, port=self.port, username=self.username, password=self.password,
                                timeout=1000, allow_agent=False, look_for_keys=False)
        print("Connected to the server", self.host)