教你用Python按顺序读取文件夹中文件

来自:网络
时间:2022-08-04
阅读:

我们有时候会读取一个文件夹中的所有的文件。但是,os.listdir()返回的文件名不一定是顺序的,这就要求我们对返回的文件名列表进行排序:

教你用Python按顺序读取文件夹中文件

教你用Python按顺序读取文件夹中文件

 这时我们想到利用Epoch后面的数字对其进行排序,具体代码如下:

def file_name(path):
    train_loss_list = []
    val_loss_list = []
    loss_file_name = []
 
    files = os.listdir(path)  # 采用listdir来读取所有文件
    for i in files:
        loss_file_name.append(i.strip("Epoch"))
 
    loss_file_name.sort(key=lambda x: int(x[:x.find("-")]))  # 按照前面的数字字符排序
    print(loss_file_name)

教你用Python按顺序读取文件夹中文件

这样读取的文件名就是按照顺序排列了,之后我们就可以利用切片顺序的从中读取train和val的loss数据进行绘图。

附:python顺序的读取文件夹下名称有序的文件

import os
path="/home/test/"  #待读取的文件夹
path_list=os.listdir(path)
path_list.sort() #对读取的路径进行排序
for filename in path_list:
	print(os.path.join(path,filename))

总结

返回顶部
顶部