python文件读取时顺序错误的问题及解决
作者:Rivers(成长版)
这篇文章主要介绍了python文件读取时顺序错误的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
python文件读取时顺序错误的问题
文件读取乱序问题
文件操作的时候,经常需要处理的往往不是一个单一的文件,所以需要对文件夹进行遍历处理。
这里会使用到listdir()函数获取文件夹下所有文件的文件名列表
如图:
但是获取的顺序并不是整齐的,在做数据对应的时候可能会出现组合错误的情况。
直接上代码
对返回文件名列表的后缀进行切割,只对文件名进行数字比较排序
值得注意,如果出现字母可能会导致错误!
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)
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。