2025年2月24日 星期一 甲辰(龙)年 腊月廿四 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

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

时间:04-20来源:作者:点击数:42

废话不说,先上代码:

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

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

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门