python中如何遍历文件夹及其子文件夹中的所有文件(附实现代码)

您所在的位置:网站首页 文件夹及路径 python中如何遍历文件夹及其子文件夹中的所有文件(附实现代码)

python中如何遍历文件夹及其子文件夹中的所有文件(附实现代码)

2024-07-03 04:42:02| 来源: 网络整理| 查看: 265

【时间】2018.10.27

【题目】python中如何遍历文件夹及其子文件夹中的所有文件

目录

概述

一、使用os.listdir()函数+递归的方式实现

二、使用os.walk()函数实现

概述

      本文提供了python中如何遍历文件夹及其子文件夹中的所有文件的两种方法。两者均返回文件名列表(可以选择文件名列表或者是包含完整路径的文件名列表)。一种是使用os.listdir()函数+递归的方式,另一种用到了os.walk()函数,第二种方法比较简便。

 

一、使用os.listdir()函数+递归的方式实现

【实现代码】:

import os image_path = 'F:\\test\\frames' # 遍历文件夹及其子文件夹中的文件,并存储在一个列表中 # 输入文件夹路径、空文件列表[] # 返回 文件列表Filelist,包含文件名(完整路径) def get_filelist(dir, Filelist):     newDir = dir     if os.path.isfile(dir):         Filelist.append(dir)         # # 若只是要返回文件文,使用这个         # Filelist.append(os.path.basename(dir))     elif os.path.isdir(dir):         for s in os.listdir(dir):             # 如果需要忽略某些文件夹,使用以下代码             #if s == "xxx":                 #continue             newDir=os.path.join(dir,s)             get_filelist(newDir, Filelist)     return Filelist if __name__ =='__main__' :     list = get_filelist('F:\\test\\frames', [])     print(len(list))     for e in list:         print(e)

【补充说明】:

1、os.path.basename()函数用于返回路径path最后的文件名。若path以/或\结尾,那么就会返回空值。例如:

二、使用os.walk()函数实现

 

【实现代码】

import os path ='F:\\test\\frames' def get_filelist(dir):     Filelist = []     for home, dirs, files in os.walk(path):         for filename in files:             # 文件名列表,包含完整路径             Filelist.append(os.path.join(home, filename))             # # 文件名列表,只包含文件名             # Filelist.append( filename)     return Filelist if __name__ =="__main__":     Filelist = get_filelist(dir)     print(len( Filelist))     for file in  Filelist :         print(file)

 

 

【补充说明】:

1、os.walk的函数声明为:

walk(top, topdown=True, οnerrοr=None, followlinks=False)

参数

top 是你所要便利的目录的地址

topdown 为真,则优先遍历top目录,否则优先遍历top的子目录(默认为开启)

onerror 需要一个 callable 对象,当walk需要异常时,会调用

followlinks 如果为真,则会遍历目录下的快捷方式(linux 下是 symbolic link)实际所指的目录(默认关闭)

os.walk 的返回值是一个生成器(generator),也就是说我们需要不断的遍历它,来获得所有的内容。

每次遍历的对象都是返回的是一个三元组(root,dirs,files)

root 所指的是当前正在遍历的这个文件夹的本身的地址

dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)

files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)

 

 

 

 



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭