python文件读取时顺序错误的问题及解决

 更新时间:2023年08月22日 16:01:07   作者:Rivers(成长版)  
这篇文章主要介绍了python文件读取时顺序错误的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

python文件读取时顺序错误的问题

文件读取乱序问题

文件操作的时候,经常需要处理的往往不是一个单一的文件,所以需要对文件夹进行遍历处理。

这里会使用到listdir()函数获取文件夹下所有文件的文件名列表

如图:

图1

但是获取的顺序并不是整齐的,在做数据对应的时候可能会出现组合错误的情况。

直接上代码

对返回文件名列表的后缀进行切割,只对文件名进行数字比较排序

值得注意,如果出现字母可能会导致错误!

import os
def dir_name(path):
    file_list = os.listdir(path)
    file_list.sort(key=lambda x: int(x[:-4]))  # 切割后缀以'.'为分界线,按照‘.'左边的数字从小到大排序(文件名不含字母)
    file_name_list = []
    for i in range(len(file_list)):
        # 路径拼接
        file_name = path + '/' + file_list[i]
        # print(file_name)
        file_name_list.append(file_name)
        # 返回文件路径列表
    return file_name_list

传入该函数一个文件夹路径,函数返回包含路径的文件名列表(顺序排列)

在这里插入图片描述

文件路径的拼接方式可以在函数中进行修改,如果只需要文件名,可以将拼接部分进行删除

python读取文件名乱序(彻底解决)

from natsort import ns, natsorted
import os
def file_sorting(path):
    list = os.listdir(path)
    files = natsorted(list,alg=ns.PATH)
    print(files)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python利用PyAutoGUI实现自动点赞

    Python利用PyAutoGUI实现自动点赞

    PyAutoGUI作为一个 GUI 操作的神器,我们看到了它的操作都很简单,非常通俗易懂,基本上看到函数就能知道它的功效。本文将用它实现批量给知乎的文章点赞,感兴趣的可以了解一下
    2022-06-06
  • Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)

    Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)

    这篇文章主要介绍了Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions),本文给出了表达式写法和for循环写法两种方法实现字符推导,需要的朋友可以参考下
    2015-04-04
  • 解决AttributeError:'NoneTypeobject' has no attribute'Window'的问题(亲测有效)

    解决AttributeError:'NoneTypeobject' has no attrib

    这篇文章主要介绍了解决AttributeError: ‘NoneType‘ object has no attribute ‘Window‘的问题(亲测有效),本文给大家介绍的非常想详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • python中unittest框架应用详解

    python中unittest框架应用详解

    这篇文章主要介绍了Python中Unittest框架的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-09-09
  • 使用python BeautifulSoup库抓取58手机维修信息

    使用python BeautifulSoup库抓取58手机维修信息

    这篇文章主要介绍了一个使用python抓取58手机的精准商家信息,使用BeautifulSoup API的方法
    2013-11-11
  • python读取csv文件示例(python操作csv)

    python读取csv文件示例(python操作csv)

    这篇文章主要介绍了python读取csv文件示例,这个示例简单说明了一下python操作csv的方法,需要的朋友可以参考下
    2014-03-03
  • MacOS(M1芯片 arm架构)下安装tensorflow的详细过程

    MacOS(M1芯片 arm架构)下安装tensorflow的详细过程

    这篇文章主要介绍了MacOS(M1芯片 arm架构)下如何安装tensorflow,本节使用的版本是tensorflow2.4 python3.8,因此并未安装加速插件,本文结合实例代码详细讲解,需要的朋友可以参考下
    2023-02-02
  • python爬虫之request模块深入讲解

    python爬虫之request模块深入讲解

    requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多,下面这篇文章主要给大家介绍了关于python爬虫之request模块的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • Python 使用with上下文实现计时功能

    Python 使用with上下文实现计时功能

    with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭、线程中锁的自动获取和释放等。这篇文章主要介绍了Python 使用with上下文实现计时,需要的朋友可以参考下
    2018-03-03
  • python实现m3u8格式转换为mp4视频格式

    python实现m3u8格式转换为mp4视频格式

    这篇文章主要为大家详细介绍了python实现m3u8格式转换为mp4视频格式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02

最新评论