文件读取乱序问题
文件操作的时候,经常需要处理的往往不是一个单一的文件,所以需要对文件夹进行遍历处理。
这里会使用到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
传入该函数一个文件夹路径,函数返回包含路径的文件名列表(顺序排列)
文件路径的拼接方式可以在函数中进行修改,如果只需要文件名,可以将拼接部分进行删除