python如何获取目录下的所有文件名


本博客所有内容以学习、研究和分享为主,如需转载,请联系本人,标明作者和出处,并且是非商业用途,谢谢!


摘要

在做项目中我们会有这个需求的,比如你训练数据过程也许会保存很多的模型,这个时候你要读取这些模型,去对测试数据进行预测,那么你就要获取目录下的这些模型的文件名,从而读取这些模型

正文

方法有很多,但我还是只说一种——os.walk的方法
在这里,我再加一个特殊的需求,比如你目录下有三种模型,那么你要把这三种模型的所有文件名加入到不同的列表中,怎么办?——简而言之,就是取出目录下的特定文件

我的model目录下有三种不同的模型,我要取出它们,分别放到不同的列表中
注意看我的注释

import os
# 保存不同模型的目录名(绝对路径)
file_dir = r'C:\Users\zhangyh4\Desktop\xietong1012\model'
bayes_list = []     # 贝叶斯模型列表
svm_list = []        # svm模型列表
xgboost_list = []  # xgboost模型列表
# root是指当前目录路径(文件夹的绝对路径)
# dirs是指路径下所有的子目录(文件夹里的文件夹)
# files是指路径下所有的文件(文件夹里所有的文件)
for root,dirs,files in os.walk(file_dir):
    for file in files:
        if os.path.splitext(file)[0] == 'bayes':
            bayes_list.append(os.path.join(root,file))
        elif os.path.splitext(file)[0] == 'svm':
            svm_list.append(os.path.join(root,file))
        elif os.path.splitext(file)[0] == 'xgboost':
            xgboost_list.append(os.path.join(root,file))

os.path.splitext() 是把文件名做了一个拆分
比如svm.model就是我的文件名,os.path.splitext(svm.model) [0]得到的结果就是svm
上面就是对所有文件名做了个判断,然后各取所需,加到对应的列表中

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,170评论 19 139
  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,080评论 2 89
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,026评论 3 119
  • 头天因下暴雨,火车区间封闭,我们就完美的晚点3个小时,到达丽江已是下午7点多,初见丽江,喜爱悠然而生。 安顿好酒店...
    二姐的疯癫日常阅读 308评论 0 2
  • 论《如何使用虚拟礼物的发挥送礼作用》 作为卖家,你有下面的困惑吗? 你是否每天等顾客上门,却没办法主动招揽顾客? ...
    夏珲阅读 319评论 0 1