首页  >  文章  >  后端开发  >  如何在 Python 中模拟 `mkdir -p` 功能?

如何在 Python 中模拟 `mkdir -p` 功能?

Barbara Streisand
Barbara Streisand原创
2024-10-28 19:40:29369浏览

How to Simulate the `mkdir -p` Functionality in Python?

Python mkdir -p 等效

要在 Python 中模拟 shell 的 mkdir -p 功能,有多种方法可用。

Python 3.5 及更高版本

Python 3.5 引入了pathlib.Path.mkdir 函数,其中包含parents 和exist_ok 参数。通过将parents设置为True并将exist_ok设置为True,它会创建目录和任何不存在的父目录,而不会引发错误:

<code class="python">import pathlib
pathlib.Path("/tmp/path/to/desired/directory").mkdir(parents=True, exist_ok=True)</code>

Python 3.2及更高版本

对于 Python 3.2 及更高版本,os.makedirs 函数有一个可选的第三个参数,exist_ok,可以将其设置为 True 以实现相同的行为:

<code class="python">import os
os.makedirs("/tmp/path/to/desired/directory", exist_ok=True)</code>

早期 Python 版本

对于旧版本的 Python,您可以使用 os.makedirs 函数并在目录已存在时捕获 OSError 异常,使用以下代码:

<code class="python">import errno    
import os

def mkdir_p(path):
    try:
        os.makedirs(path)
    except OSError as exc:  # Python ≥ 2.5
        if exc.errno == errno.EEXIST and os.path.isdir(path):
            pass
        # possibly handle other errno cases here, otherwise finally:
        else:
            raise</code>

以上是如何在 Python 中模拟 `mkdir -p` 功能?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn