在格式为page-0.ext的目录中对文件进行排序并获取第一个文件

时间:2014-03-23 20:03:16

标签: python python-2.7

在一个目录中,文件格式为basename- {0-padded-index} .ext,如何在排序顺序中获取这些文件。示例文件名:

b3a7c672b9a34da68c4caab04f758cd2-000.png
b3a7c672b9a34da68c4caab04f758cd2-001.png
b3a7c672b9a34da68c4caab04f758cd2-002.png
...
b3a7c672b9a34da68c4caab04f758cd2-010.png
b3a7c672b9a34da68c4caab04f758cd2-011.png
...
b3a7c672b9a34da68c4caab04f758cd2-099.png
b3a7c672b9a34da68c4caab04f758cd2-100.png

0填充索引(001,002,010等)不固定。它可以是2位数或更多零填充。 排序后,我可以得到第一个真正问题的文件。

1 个答案:

答案 0 :(得分:0)

import os

filenames = os.listdir('path/to/directory')
filenames.sort(key=lambda s: int(s.rsplit('.', 1)[0].rsplit('-', 1)[1]))
first_one = filenames[0]

这里真正的技巧是sort中的关键功能,它获取文件名的相关部分并将其转换为int。因此,所有文件名将按文件扩展名

之前的那些数字排序