小能豆

Python 中的 mkdir -p 功能

python

有没有办法mkdir -p在 Python 内部获得类似于 shell 的功能?我正在寻找系统调用以外的解决方案。我确定代码少于 20 行,我想知道是否有人已经编写了它?


阅读 38

收藏
2024-09-13

共1个答案

小能豆

是的,您可以在 Python 中实现类似的功能mkdir -p(创建目录和所有必要的父目录),而无需使用系统调用。您可以使用Python 标准库中的os和模块来实现此目的。os.path

这是一个模仿的 Python 函数mkdir -p

import os

def mkdir_p(path):
    """Create a directory and all intermediate directories."""
    os.makedirs(path, exist_ok=True)

解释

  • os.makedirs(path, exist_ok=True)

  • path是您要创建的目录路径。
  • exist_ok=True如果目录已经存在,则允许函数忽略FileExistsError,类似于的行为mkdir -p

示例用法

mkdir_p('path/to/your/directory')

这将创建整个目录路径,包括任何尚不存在的中间目录。

为什么有效

  • os.makedirs旨在创建包含叶目录所需的所有中间级目录。
  • exist_ok参数设置为,True以避免在目标目录已存在时引发异常,使其行为类似于mkdir -p

完整代码示例

以下是如何使用该函数的完整示例mkdir_p

import os

def mkdir_p(path):
    """Create a directory and all intermediate directories."""
    os.makedirs(path, exist_ok=True)

# Example usage
mkdir_p('path/to/your/directory')
print("Directory created successfully!")

这种方法避免了系统调用并使用 Python 的内置功能来实现相同的结果。

2024-09-13