问题描述
因为想要对图片做一个打标签操作,图片名字包含规律性的数字,windows系统下文件夹中图片都是按照文件名的数字进行呈现的,如下图:
而直接用python脚本遍历得到的文件名list,打印出来和上图中文件呈现顺序不同
解决办法
对python脚本中获得到文件夹名字进行使用lambda函数进行排序,具体情况具体分析,这次的场景就是把文件名中第一个数字和第二个数字取出来进行操作之后,就可以达到效果
具体代码如下:
img_path_s = "images"
img_rois = "img_rois"
img_dealed = []
f = open('labels.txt', 'w', encoding='utf-8')
for img_f in os.listdir(img_rois):
img_dealed.append(img_f)
img_dealed.sort(key=lambda x: int(x.split('-')[0]) * 100 + int(x.split('-')[1].split('_')[0]) )
print(img_dealed)
for img_n in img_dealed:
f.writelines(img_n + " " + '0' + '\n')
f.close()