gpt4 book ai didi

string - 按数字对文件名列表进行排序

转载 作者:太空宇宙 更新时间:2023-11-04 10:54:37 24 4
gpt4 key购买 nike

有没有一种方法(如 php 的 natsort)对由文件名组成的列表进行排序,这些文件名仅在一个数字上不同并且按 glob 未排序返回,例如:

test1.dat
test7.dat
.
.
test10.dat
test3.dat

当我进行简单排序时,结果是

test1.dat
test10.dat
test2.dat
.
.
.

因为 1 出现在 2 之前 :)我可以用 for 循环和一个范围(或一个带范围的生成器)构造一些东西,但这感觉有点不符合 pythonic...

最佳答案

sorted(glob.glob('*.dat'), key=lambda x: int(x.split('.')[0][4:]))

这将获取文件名,去除扩展名并获取第四个位置之后字符的整数值。适用于“testXXX.dat”,其中 XXX 是任意长度的整数。

关于string - 按数字对文件名列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10947226/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com