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里的单引号和双引号的有什么作用

    python里的单引号和双引号的有什么作用

    在本篇文章里小编给大家分享的是一篇关于python里的单引号和双引号的作用的相关内容,需要的朋友们可以学习下。
    2020-06-06
  • Sanic框架异常处理与中间件操作实例分析

    Sanic框架异常处理与中间件操作实例分析

    这篇文章主要介绍了Sanic框架异常处理与中间件操作,结合实例形式较为详细的分析了Sanic框架抛出异常、异常处理、中间件、监听器相关原理与操作技巧,需要的朋友可以参考下
    2018-07-07
  • 浅谈python3.x pool.map()方法的实质

    浅谈python3.x pool.map()方法的实质

    这篇文章主要介绍了python3.x pool.map方法的实质,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • python pipreqs工具生成requirements.txt文件使用详解

    python pipreqs工具生成requirements.txt文件使用详解

    这篇文章主要为大家介绍了python pipreqs工具生成requirements.txt文件使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • 详解python里的命名规范

    详解python里的命名规范

    这篇文章主要介绍了详解python里的命名规范,命名应当尽量使用全拼写的单词,缩写的情况文章中也给大家提到,需要的朋友参考下吧
    2018-07-07
  • python自动保存百度盘资源到百度盘中的实例代码

    python自动保存百度盘资源到百度盘中的实例代码

    这篇文章主要介绍了python自动保存百度盘资源到百度盘中的实例代码,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • python numpy库之如何使用matpotlib库绘图

    python numpy库之如何使用matpotlib库绘图

    Numpy的主要对象是同构多维数组,它是一个元素表,所有类型都相同,由非负整数元组索引,在Numpy维度中称为轴,这篇文章主要介绍了python numpy库 使用matpotlib库绘图,需要的朋友可以参考下
    2022-10-10
  • Python中的lstrip()方法使用简介

    Python中的lstrip()方法使用简介

    这篇文章主要介绍了Python中的lstrip()方法使用简介,是Python入门的基础知识,需要的朋友可以参考下
    2015-05-05
  • python实现整数序列求和

    python实现整数序列求和

    这篇文章主要介绍了python实现整数序列求和,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • python使用tkinter实现自定义多参数对话框

    python使用tkinter实现自定义多参数对话框

    Tkinter模块是Python标准库中的一部分,用于创建图形用户界面(GUI)应用程序,它提供了一组工具和组件,用于创建窗口、按钮、文本框等用户界面元素,并且可以响应用户的输入,本文将给大家讲讲python如何使用tkinter实现自定义多参数对话框
    2023-08-08

最新评论