Сортировка файлов в списке в Python - PullRequest
0 голосов
/ 22 февраля 2019

glob.glob (file_naming)

Это дает мне два файла:

['/srv/tmp/what/123_aaa_bbb_20190110043711.XML',
 '/srv/tmp/what/234_xxx_yyy_20190110043710.XML']

Как мне отсортировать их в порядке последней части (20190110043711)?Мне нужен результат как:

['/srv/tmp/what/123_aaa_bbb_20190110043710.XML',
 '/srv/tmp/what/234_xxx_yyy_20190110043711.XML']

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

Имеет ли Python встроенную функцию для естественной сортировки строк? вы можете увидеть этот пост для естественной сортировки.

вы можете использовать https://pypi.org/project/natsort/ - natsort вставилпример ниже

 a = ['Apple', 'apple15', 'Banana', 'apple14,689', 'banana']
 natsorted(a, alg=ns.REAL | ns.LOCALE | ns.IGNORECASE)
0 голосов
/ 22 февраля 2019

Использование sorted:

>>> sorted(l,key=lambda x: int(x.split('_')[-1]))
['/srv/tmp/what/234_xxx_yyy_20190110043710.XML', '/srv/tmp/what/123_aaa_bbb_20190110043711.XML']
>>> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...