如何将列表中的每个项目与Python中的上一项进行比较

时间:2018-04-17 13:46:37

标签: python compare output paramiko

import paramiko
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect('hostname', username='test1234', password='test')
path = ['/home/test/', '/home/test1/','/home/test3/']
sftp = client.open_sftp()
for filename in sftp.listdir(path):
    stdin,stdout,stderr = client.exec_command('ls -1 %s' %filename)
    output = stdout.read().decode().splitlines()
    print output

我有多个路径并逐个传递给stdin来执行 命令。解析第一个路径时,stdout存储在输出中。类似 在解析第二条路径时明智。需要第二条路径输出 与第一路径输出相比,需要存储唯一输出。 我不确定如何进步。

1 个答案:

答案 0 :(得分:0)

记住变量中前一次迭代的输出并比较:

prev_output = None
for filename in sftp.listdir(path):
    stdin,stdout,stderr = client.exec_command('ls -1 %s' %filename)
    output = stdout.read().decode().splitlines()
    print output
    if prev_output:
        if prev_output == output:
            print "Same"
        else:
            print "Different"
    prev_output = output