Python Paramiko获取排序目录列表

Python Paramiko获取排序目录列表,python,sftp,paramiko,Python,Sftp,Paramiko,我能从帕拉米科那里得到一份目录清单。通过listdir\u attr我可以得到属性。但是,我需要按文件名对列表进行排序。如果它返回字典列表,我可以使用lambda进行排序。但是当它返回一个SFTPAttributes列表时,除了创建一个包含我关心的数据的新词典列表并对该列表进行排序外,我想不出如何进行排序。在执行此操作之前,是否有方法获取按文件名排序的目录列表?没有方法返回已排序的列表 不过,排序很容易: files = sftp.listdir_attr() files.sort(key =

我能从帕拉米科那里得到一份目录清单。通过
listdir\u attr
我可以得到属性。但是,我需要按文件名对列表进行排序。如果它返回字典列表,我可以使用lambda进行排序。但是当它返回一个
SFTPAttributes
列表时,除了创建一个包含我关心的数据的新词典列表并对该列表进行排序外,我想不出如何进行排序。在执行此操作之前,是否有方法获取按文件名排序的目录列表?

没有方法返回已排序的列表

不过,排序很容易:

files = sftp.listdir_attr()
files.sort(key = lambda f: f.filename)
或者,如果只想按大小从大到小对文件进行排序,请执行以下操作:

from stat import S_ISDIR, S_ISREG
files = [f for f in files if not S_ISDIR(f.st_mode)]
files.sort(key = lambda f: f.st_size, reverse = True)