解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
作者:xcl_路路
今天小编就为大家分享一篇解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
1. os.listdir()概述
os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。
例如:
dir ='F:/Home_01/img'#当前目录 filenames=os.listdir(dir)#filenames存储dir下的所有文件名。
注意:os.listdir()返回的文件名不一定是顺序的,也就是说结果是不固定的,如下图,则filenames[0]有可能为‘22.jpg',而不是我们所希望的‘11.jpg'。
解决办法:
filenames=os.listdir(dir) filenames.sort(key=lambda x:int(x[:-4]))#倒着数第四位'.'为分界线,按照‘.'左边的数字从小到大排序
此时乱序就变成了顺序:filenames=['11.jpg' , '22.jpg' , '30.jpg'],即filenames[1]='22.jpg';当然可根据自己文件名的特征去决定int(x[:?])中?的值,从哪里去分割排序。
以上这篇解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。