获取指定目录下面的,文件信息,总结的两个方法

import os


# 递归方法获取时间,耗时是os方法的5倍,不推荐
def get_file_list(file_path, file_list=[]) -> list:
    """
    使用递归获取文件夹下面的全部文件路径
    :param file_path: 文件夹路径
    :param file_list:空列表
    :return:文件路径列表
    """
    if os.path.isfile(file_path):
        file_list.append(file_path)
    else:
        for file_name in os.listdir(file_path):
            # 如果需要忽略,某些文件夹,跳过即可
            # if file_name == "XXX":
            #     continue
            file_abs_path = os.path.join(file_path, file_name)
            get_file_list(file_abs_path, file_list)
    return file_list


# 速度快,优先推荐这个方法
def get_file_list_two(file_path: str) -> list:
    """
    使用os自带方法,获取文件夹目录下面的全部文件路径
    :param file_path: 文件夹路径
    :return: 文件路径列表
    """
    file_list = []
    for path_dir, dir_names, file_names in os.walk(file_path):
        for filename in file_names:
            file_abs_path = os.path.join(path_dir, filename)
            file_list.append(file_abs_path)
    return file_list


path = r"D:"
print(get_file_list(path))
print(get_file_list_two(path))