如何调用多个ssh连接并通过paramiko运行命令并将其输出以数组格式存储

时间:2019-09-13 05:21:46

标签: python paramiko

我使用paramiko创建ssh连接。我想创建多个连接并运行一个命令。下面是我的代码

for i in ii:
# print(i)
mylist = []
try:
    client.connect(hostname=i[0], port='22', username='root', password='sidra123')
    # print(i)
    grepCommand = "protoc --version"
    output = ''
    stdin, stdout, stderr = client.exec_command(grepCommand)
    for line in stdout:
        output = output + line
        # print(output)
        mylist.append(output)
        client.close()
finally:
    print(mylist)

   return 'data'

我在追加时遇到错误-仅将最后的结果追加到列表中。如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您必须在循环之前创建mylist

mylist = []
for i in ii:
    # print(i)
    # ... rest ...

当前,您在每个循环中都创建一个新的mylist,以便删除其先前的内容。