python - 创建递归路径 Python 的有效方法

标签 python path operating-system

我需要一个简单的函数来在 Python 中创建一个路径,父路径可能存在也可能不存在。

来自 python 文档 os.makedirs 将失败,如果 parent 之一存在。

我已经编写了下面的方法,它可以根据需要创建尽可能多的子目录。

这看起来有效率吗?

def create_path(path):
    import os.path as os_path
    paths_to_create = []
    while not os_path.lexists(path):
        paths_to_create.insert(0, path)
        head,tail = os_path.split(path)
        if len(tail.strip())==0: # Just incase path ends with a / or \
            path = head
            head,tail = os_path.split(path)
        path = head

    for path in paths_to_create:
        os.mkdir(path)

最佳答案

"From python documentation os.makedirs will fail if one of the parents exists."

不,os.makedirs如果目录本身已经存在,将会失败。如果任何父目录已经存在,它不会失败。

关于python - 创建递归路径 Python 的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/944536/

相关文章:

python - Python中的可中断线程连接

python 随机播种是确定性的,但它不应该是

java - 通过 vector 列表查找路径

java - 如何访问线程中 Runnable 对象的字段

C 中管道、fork 和 exec 的链接,类似 bash 的行为

python - 获取 zeep.exceptions.ValidationError : Missing element for method that worked with suds

python - cython 中的锯齿状数组

python - 如何从Python中的特定路径调用文件的基本名称?

path - 执行Java程序

java - 了解在 wait() 中放弃锁