Paramiko получить отсортированный список каталогов - PullRequest
0 голосов
/ 17 декабря 2018

Я могу получить список каталогов от Paramiko.И с listdir_attr я получаю атрибуты.Однако мне нужно отсортировать этот список по имени файла.Если бы он возвратил список словарей, я мог бы использовать лямбду для такой сортировкиНо так как он возвращает список SFTPAttributes, я не могу понять, как выполнить сортировку, кроме как создать новый список словарей, содержащий данные, которые мне интересны, и отсортировать этот список.Перед этим есть способ получить список каталогов, отсортированный по имени файла?

1 Ответ

0 голосов
/ 18 декабря 2018

Невозможно заставить SFTPClient.listdir_attr вернуть отсортированный список.

Хотя сортировку легко выполнить:

files = sftp.listdir_attr()
files.sort(key = lambda f: f.filename)

Или, например, если вы хотитесортировать только файлы по размеру от самого большого до самого маленького:

files = [f for f in files if not stat.S_ISDIR(f.st_mode)]
files.sort(key = lambda f: f.st_size, reverse = True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...