解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题

yipeiwu_com6年前Python基础

1. os.listdir()概述

os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。

例如:

dir ='F:/Home_01/img'#当前目录

filenames=os.listdir(dir)#filenames存储dir下的所有文件名。

注意:os.listdir()返回的文件名不一定是顺序的,也就是说结果是不固定的,如下图,则filenames[0]有可能为‘22.jpg',而不是我们所希望的‘11.jpg'。

python os.listdir 乱序和排序

解决办法:

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()函数读取文件夹下文件的乱序和排序问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解python3实现的web端json通信协议

之前有用python3实现过tcp协议的,后来又实现了http协议的通信,今天公司想做一个功能自动测试系统, 下午弄了一会,发现json格式的实现可以更简单一点,代码如下:简单解说一下,...

pandas基于时间序列的固定时间间隔求均值的方法

pandas基于时间序列的固定时间间隔求均值的方法

如果index是时间序列就不用转datetime;但是如果时间序列是表中的某一列,可以把这一列设为index 例如: 代码: DF=df2.set_index(df1['time_...

深入理解Python单元测试unittest的使用示例

深入理解Python单元测试unittest的使用示例

软件测试 大型软件系统的开发是一个很复杂的过程,其中因为人的因素而所产生的错误非常多,因此软件在开发过程必须要有相应的质量保证活动,而软件测试则是保证质量的关键措施。正像软件熵(soft...

用python实现简单EXCEL数据统计的实例

用python实现简单EXCEL数据统计的实例

任务: 用python时间简单的统计任务-统计男性和女性分别有多少人。 用到的物料:xlrd 它的作用-读取excel表数据 代码: import xlrd workbook =...

python实现简易内存监控

本例主要功能:每隔3秒获取系统内存,当内存超过设定的警报值时,获取所有进程占用内存并发出警报声。内存值和所有进程占用内存记入log,log文件按天命名。 1 获取cpu、内存、进程信息...