雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

【说站】python如何读取文件名

2024-11-28 20

python如何读取文件名

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

1、os.listdir()函数只获得当前路径下的文件名,不包括子目录中的文件,需要通过递归的方式获得的文件名。

#返回指定路径下的所有文件,不包含子目录。
path1 = r"C:\Users\11764\Desktop\Data"
f = os.listdir(path1)
print(f)
 
 
output:
 
['2020-09-16',
 '2020-10-11',
 'baidu_index_0625.xlsx',
 'city_id.xlsx',
 'city_index_0625.xlsx',
 'province_id.xlsx',
 'province_index_0625.xlsx']

2、os.path.splitext()函数将路径拆分为文件名和扩展名(后缀)。

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

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))

以上就是python读取文件名的方法,我们可以通过os模块下的函数进行解决,并获取不同类型的文件名的形式,大家学会后也可以进行这方面的试验。更多Python学习指路:python基础教程

更新于:9天前
赞一波!1

文章评论

评论问答