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

yipeiwu_com7年前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设计】。

相关文章

使用Python机器学习降低静态日志噪声

使用Python机器学习降低静态日志噪声

持续集成(CI)作业可以产生大量的数据。当作业失败时,找出了什么问题可能是一个繁琐的过程,需要对日志进行调查以发现根本原因-这通常是在作业总输出的一小部分中发现的。为了更容易地将最相关的...

python调用机器喇叭发出蜂鸣声(Beep)的方法

本文实例讲述了python调用机器喇叭发出蜂鸣声(Beep)的方法。分享给大家供大家参考。具体分析如下: 下面这段python代码可调用机器喇叭发出蜂鸣声(Beep),当然你的喇叭必须能...

Python实用日期时间处理方法汇总

原则, 以datetime为中心, 起点或中转, 转化为目标对象, 涵盖了大多数业务场景中需要的日期转换处理 步骤: 1. 掌握几种对象及其关系 2. 了解每类对象的基本操作方法 3....

解决python执行不输出系统命令弹框的问题

最近做一个的GUI,因为调用了os模块里的system方法,使用pyinstaller打包的时候选择不输出系统命令弹框,程序无法运行,要求要有系统命令框。在网上找到一个解决办法。使用su...

Python 字典与字符串的互转实例

字典转换为字符串 if __name__ == '__main__': a = {'a' : 1, 'b' : 2, 'c' : 3} b = str(a) print(...