glob.glob(文件名)
这样做有两个文件:
['/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']
答案 0 :(得分:5)
使用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']
>>>
答案 1 :(得分:0)
Does Python have a built in function for string natural sort? 您可以看到这篇文章进行自然排序。
您可以使用https://pypi.org/project/natsort/-natsort 在下面粘贴示例
a = ['Apple', 'apple15', 'Banana', 'apple14,689', 'banana']
natsorted(a, alg=ns.REAL | ns.LOCALE | ns.IGNORECASE)