解决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开发环境搭建

虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境。 1.准备好安装包 1)上python官网下载...

Python实现矩阵加法和乘法的方法分析

本文实例讲述了Python实现矩阵加法和乘法的方法。分享给大家供大家参考,具体如下: 本来以为python的矩阵用list表示出来应该很简单可以搞。。其实发现有大学问。 这里贴出我写的特...

python3+PyQt5 数据库编程--增删改实例

python3+PyQt5 数据库编程--增删改实例

本文通过python3+pyqt5改写实现了python Qt gui 编程变成15章的excise例子。 #!/usr/bin/env python3 import os impo...

使用python实现正则匹配检索远端FTP目录下的文件

遇到一个问题,需要正则匹配远端FTP目录下的文件,如果使用ftp客户端可以通过命令行很容易的做到这一点,但是暂时没有一个工具支持这样的需求,于是通过python对FTP的支持和对正则表达...

使用虚拟环境打包python为exe 文件的方法

使用过anaconda环境下打包py文件的一点感悟,使用的是pyinstaller+anaconda环境下打包py文件 打包: pyinstaller -F -w -i logo.ico...