python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python文件读取时顺序错误

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

作者: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)

总结

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

您可能感兴趣的文章:
阅读全文