Python中的mkdir -p功能

发布于 2021-02-02 23:14:30

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

关注者
0
被浏览
49
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    对于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
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看