python中如何遍历文件夹及其子文件夹中的所有文件(附实现代码)
2018-10-27 15:24
1961 查看
【时间】2018.10.27
【题目】python中如何遍历文件夹及其子文件夹中的所有文件
目录
概述
本文提供了python中如何遍历文件夹及其子文件夹中的所有文件的两种方法。两者均返回文件名列表(可以选择文件名列表或者是包含完整路径的文件名列表)。一种是使用os.listdir()函数+递归的方式,另一种用到了os.walk()函数,第二种方法比较简便。
一、使用os.listdir()函数+递归的方式实现
【实现代码】:
[code]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()函数实现
【实现代码】
[code]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, onerror=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 , 内容是该文件夹中所有的文件(不包括子目录)
阅读更多
相关文章推荐
- [原创]Python小工具 —— 计算 文件 或 文件夹及其所有子文件夹中所有文件 的 代码行数
- Python 如何遍历文件夹以及子文件夹下的所有文件
- 使用某个文件夹下的所有文件去替换另一个文件夹下及其子文件夹下存在的同名文件(Python实现)
- C#如何遍历一个文件夹下面所有的文件、包括子文件夹里面的文件?
- 非递归遍历指定文件夹下的所有文件及其子文件夹
- PHP遍历某个目录下的所有文件和子文件夹的实现代码
- php遍历文件夹及其下所有文件的代码
- php删除与复制文件夹及其文件夹下所有文件的实现代码
- php遍历文件夹所有文件子文件夹函数代码
- python如何获取一个文件夹内包括子文件夹所有文件的名字和路径
- python - 遍历某个文件夹下的所有子文件夹和文件名称
- php删除与复制文件夹及其文件夹下所有文件的实现代码
- 如何用python遍历文件夹下的所有excel文件
- 非递归遍历指定文件夹下的所有文件及其子文件夹 [11/29/2010 更新]
- python 查找文件夹下所有文件 实现代码
- Python与C++ 遍历文件夹下的所有图片实现代码
- 遍历文件夹及其子文件夹下所有文件
- Python与C++ 遍历文件夹下的所有图片实现代码
- c#如何实现对指定路径文件夹的遍历并复制里面所有文件到指定路径
- 遍历文件夹及其子文件夹下的.pdf文件,并解压文件夹下所有的压缩包