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存储在输出中。类似 在解析第二条路径时明智。需要第二条路径输出 与第一路径输出相比,需要存储唯一输出。 我不确定如何进步。
答案 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