Python递归遍历文件夹下所有文件

文件结构示例

示例

关键API

python版本3.6.8

  • 获取某文件夹下的所有文件及文件夹,返回列表数据
file_list = os.listdir(dir_path)
  • 路径拼接
complete_file_name = os.path.join(dir_path, file_name)
  • 判断是否为文件
os.path.isfile(complete_file_name)
  • 判断是否为文件夹
os.path.isdir(complete_file_name)

完整代码

import os
def search_files(dir_path):
    """
    获取所有文件
    :param dir_path:文件夹路径
    :return: 该文件夹下的所有文件的列表
    """
    result = []
    file_list = os.listdir(dir_path)  # 获取当前文件夹下的所有文件
    for file_name in file_list:
        complete_file_name = os.path.join(dir_path, file_name)  # 获取包含路径的文件名
        if os.path.isdir(complete_file_name):  # 如果是文件夹
            result.extend(search_files(complete_file_name)) # 文件夹递归
        if os.path.isfile(complete_file_name):  # 文件名判断是否为文件
            result.append(complete_file_name)   # 添加文件路径到结果列表里
            print(complete_file_name)           # 输出找到的文件的路径
    return result
if __name__ == '__main__':
    list1 = search_files(r'./12')
    print(list1)
    print(len(list1)) # 文件数量

结果:
在这里插入图片描述

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值