在一个目录中,文件格式为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位数或更多零填充。 排序后,我可以得到第一个真正问题的文件。
答案 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
。因此,所有文件名将按文件扩展名