python:利用递归遍历文件夹所有文件(包括子文件夹里的文件)

您所在的位置:网站首页 python批量重命名文件夹及子文件 python:利用递归遍历文件夹所有文件(包括子文件夹里的文件)

python:利用递归遍历文件夹所有文件(包括子文件夹里的文件)

2023-07-30 01:18| 来源: 网络整理| 查看: 265

废话不说,先上代码:

1 import os 2 3 4 def show_files(path, all_files): 5 # 首先遍历当前目录所有文件及文件夹 6 file_list = os.listdir(path) 7 # 准备循环判断每个元素是否是文件夹还是文件,是文件的话,把名称传入list,是文件夹的话,递归 8 for file in file_list: 9 # 利用os.path.join()方法取得路径全名,并存入cur_path变量,否则每次只能遍历一层目录 10 cur_path = os.path.join(path, file) 11 # 判断是否是文件夹 12 if os.path.isdir(cur_path): 13 show_files(cur_path, all_files) 14 else: 15 all_files.append(file) 16 17 return all_files 18 19 20 # 传入空的list接收文件名 21 contents = show_files("e:\\python", []) 22 # 循环打印show_files函数返回的文件名列表 23 for content in contents: 24 print(content)

刚开始写了半天,只能遍历当前目录,要不就是递归超过最大深度,最后才知道,还有一个os.path.join()方法,不调用这个方法的话,每次递归传进去的路径名称只有一个文件目录名,而程序执行的时候是以程序文件所在目录为参考的相对目录



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3