如何将列表中的每一项与 Python 中的前一项进行比较
How to compare each item in list against previous item in Python
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
我有多个路径,一个一个地传递给标准输入来执行
命令。在解析第一条路径时,stdout 存储在输出中。相似的
明智地解析第二条路径。第二条路径输出需要
与第一路径输出相比,需要存储唯一输出。
我不知道如何进步。
只需记住变量中先前迭代的输出并进行比较:
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
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
我有多个路径,一个一个地传递给标准输入来执行 命令。在解析第一条路径时,stdout 存储在输出中。相似的 明智地解析第二条路径。第二条路径输出需要 与第一路径输出相比,需要存储唯一输出。 我不知道如何进步。
只需记住变量中先前迭代的输出并进行比较:
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