繁体   English   中英

在python列表中对文件进行排序

[英]Sort the files in a list in python

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']

使用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']
>>> 

Python是否具有用于字符串自然排序的内置函数? 您可以查看此帖子以进行自然排序。

您可以使用https://pypi.org/project/natsort/-natsort粘贴了以下示例

 a = ['Apple', 'apple15', 'Banana', 'apple14,689', 'banana']
 natsorted(a, alg=ns.REAL | ns.LOCALE | ns.IGNORECASE)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM