Python---递归

递归:即方法(函数)自己调用自己的一种特殊编程写法

使用场景:找出一个文件夹中全部的文件

import os


def t1():
    # 把文件夹的内容列出来
    print(os.listdir("./test"))  # ['1', '2.txt']

    # 判断指定路径是否是个文件夹  是为True,不是为False
    print(os.path.isdir("./test/1"))  # True
    print(os.path.isdir("./test/1.txt"))  # False

    # 判断一个路径是否存在
    print(os.path.exists("./test"))  # True
    print(os.path.exists("./a"))  # False

if __name__ == '__main__':
    t1()
import os

def get_files_recursuin_from_dir(path):
    """
    从指定文件夹中使用递归的方法,获取全部的文件列表
    :param path: 被判断文件夹
    :return: list,包含全部的文件,如果目录不存在或者无文件就返回一个空list
    """

    file_list = []
    if os.path.exists(path):  # 判断一个路径是否存在
        for f in os.listdir(path):  # 把文件夹的内容列出来
            new_path = path + "/" + f
            if os.path.isdir(new_path): # 判断指定路径是否是个文件夹
                file_list += get_files_recursuin_from_dir(new_path)
            else:
                file_list.append(new_path)
    else:
        print(f"指定路径{path}不存在")
        return []
    return file_list


if __name__ == '__main__':
    print(get_files_recursuin_from_dir("./test"))

你可能感兴趣的:(python)