当前位置: 首页 > 面试题库 >

Python中的mkdir -p功能

倪子晋
2023-03-14
问题内容

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


问题答案:

对于Python≥3.5,请使用pathlib.Path.mkdir

import pathlib
pathlib.Path("/tmp/path/to/desired/directory").mkdir(parents=True, exist_ok=True)

exist_ok参数是在Python 3.5中添加的。

对于Python≥3.2,os.makedirs具有可选的第三个参数exist_ok,当时True,启用mkdir -p功能,除非 mode提供了该参数,并且现有目录具有与预期目录不同的权限;在这种情况下,OSError如前所述:

import os
os.makedirs("/tmp/path/to/desired/directory", exist_ok=True)

对于更旧的Python版本,您可以使用os.makedirs并忽略该错误:

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
        else:
            raise


 类似资料:
  • p值大约是假设的强度。 我们基于一些统计模型建立假设,并使用p值比较模型的有效性。 获得p值的一种方法是使用T检验。 这是对零假设的双边检验,即独立观察样本'a'的预期值(平均值)等于给定的总体平均值, popmean 。 让我们考虑以下示例。 from scipy import stats rvs = stats.norm.rvs(loc = 5, scale = 10, size = (50,

  • 本文向大家介绍C中的++ * p,* p ++和* ++ p之间的区别,包括了C中的++ * p,* p ++和* ++ p之间的区别的使用技巧和注意事项,需要的朋友参考一下 指针式 在C语言中,* p表示存储在指针中的值。++是前缀和后缀表达式中使用的增量运算符。*是取消引用运算符。前缀++和*的优先级相同,并且两者从右到左关联。后缀++的优先级高于前缀++和*,并且从左到右具有关联性。请参见以

  • 本文向大家介绍python中p-value的实现方式,包括了python中p-value的实现方式的使用技巧和注意事项,需要的朋友参考一下 案例: 链接: https://stackoverflow.com/questions/17559897/python-p-value-from-t-statistic http://docs.scipy.org/doc/scipy/reference/tut

  • 描述 (Description) 此函数使用MODE指定的模式生成名称和路径EXPR的目录,为了清楚起见,应将其作为八进制值提供。 语法 (Syntax) 以下是此函数的简单语法 - mkdir EXPR,MODE 返回值 (Return Value) 此函数在失败时返回0,在成功时返回1。 例子 (Example) 以下是显示其基本用法的示例代码 - #!/usr/bin/perl -w $d

  • 此命令用于在当前工作目录中创建目录。 语法 (Syntax) mkdir dirname 参数 (Parameters) dirname - 需要创建的新目录的名称。 返回值 (Return Value) 没有 例子 (Example) /* Main program */ mkdir Test 输出 (Output) 当我们运行上面的程序时,将在工作目录中创建名为Test的目录。