您的位置:

使用Python递归创建多层目录

一、递归函数的基本实现方式

import os

def mkdirs(path):
    if not os.path.exists(path):
        mkdirs(os.path.split(path)[0])
        os.mkdir(path)

Python中使用递归函数可以很方便地创建多层目录。以上代码中的mkdirs函数会判断当前目录是否存在,若不存在,则递归调用自身,直至创建该路径下所有目录。os.mkdir()函数用于创建目录。

二、应用示例以及代码

def main():
    path = "a/b/c/d/e/f"
    mkdirs(path)

if __name__ == "__main__":
    main()

以上代码中的main函数调用了mkdirs函数,传递的参数是需要创建的路径。该路径参数可以直接传递单个字符串,也可以传递一个列表,表示需要创建多个路径。下面的代码示例中将以一个列表的方式传递参数。

def mkdirs(path_list):
    if isinstance(path_list, str):
        path_list = [path_list]
    for path in path_list:
        if not os.path.exists(path):
            mkdirs(os.path.split(path)[0])
            os.mkdir(path)

def main():
    path_list = ["a/b/c", "d/e/f"]
    mkdirs(path_list)

if __name__ == "__main__":
    main()

以上代码中的path_list参数是一个列表,包含了需要创建的多个路径。mkdirs函数判断参数的类型进行不同的处理。该例子中我们将创建两个路径:a/b/c 和 d/e/f。

三、总结

递归是一种可以通过自身调用实现解决重复问题的编程技术。在Python中,使用递归函数可以很方便地创建多层目录。本文介绍了创建多层目录的基本实现方式,以及应用示例。希望本文对Python初学者有所帮助。