我们有时候会读取一个文件夹中的所有的文件。但是,os.listdir()返回的文件名不一定是顺序的,这就要求我们对返回的文件名列表进行排序:
这时我们想到利用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)
这样读取的文件名就是按照顺序排列了,之后我们就可以利用切片顺序的从中读取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))
总结
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)