python 获取目录下全部前缀和后缀相同的文件名称
例如,在./dir/to/files/
目录下有三个文件
Image_02.png
Image_03.png
Image_01.png
则我们可以
import os, re
# 获取目录下的全部文件名称
file_names = os.listdir('./dir/to/files/')
# 使用列表解析式遍历文件名并组成数组,使用正则表达式匹配文件名称
matches = [ [m[0],int(m[1])] for f in file_names if (m := re.match('Image_(\d+).png', f)) ]
# 根据文件名称中的数字排序
matches.sort(key = lambda x: x[1])
print(matches)
最后的输出结果为
# [文件名称,中间数字]
[['Image_01.png', 1], ['Image_02.png', 2], ['Image_03.png', 3]]