Python中的p函数

这个问题在这里已经有了答案:

  • 如何创建一个不存在的目录? 26个答案

  • mkdir -p功能如下:

    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
    

    更新

    对于os.makedirsos.makedirs有一个可选的第三个参数exist_ok ,如果为true,则启用mkdir -p功能 - 提供了unless mode ,现有目录具有与预期不同的权限; 在这种情况下, OSError如前所述。

    更新2

    对于pathlib.Path.mkdir ,还有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(path, exist_ok=True)
    

    在早期版本中,使用@ tzot的答案。


    这比捕获异常更容易:

    import os
    if not os.path.exists(...):
        os.makedirs(...)
    

    免责声明此方法需要在特定环境/条件下更易受竞争条件影响的两个系统调用。 如果你写的东西比在一个受控环境下运行的简单的一次性脚本更复杂,你最好只用一个系统调用的接受答案。

    更新2012-07-27

    我很想删除这个答案,但我认为在下面的评论中有价值。 因此,我将它转换为wiki。

    链接地址: http://www.djcxy.com/p/9263.html

    上一篇: p functionality in Python

    下一篇: Find current directory and file's directory