Home > Backend Development > Python Tutorial > How to create a directory with intermediate directories in Python?

How to create a directory with intermediate directories in Python?

DDD
Release: 2024-10-29 13:49:29
Original
519 people have browsed it

How to create a directory with intermediate directories in Python?

The "mkdir -p" function in Python [duplicate]

In Python, how to implement something similar to the shell command "mkdir -p" "Function? Hoping for a solution that doesn't rely on system calls and has a code length of less than 20 lines.

Solution

For Python ≥ 3.5, use pathlib.Path.mkdir:

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

The exist_ok parameter was new in Python 3.5.

For Python ≥ 3.2, os.makedirs has an optional third argument exist_ok which, when True, enables the mkdir -p functionality except when mode is provided and the directory's The permissions differ from the expected permissions; in this case, an OSError is raised as before:

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

For earlier versions of Python, you can use os.makedirs and ignore the error:

<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
        # 还可以在此处理其他errno情况,否则:
        else:
            raise</code>
Copy after login

The above is the detailed content of How to create a directory with intermediate directories in Python?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template