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>
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>
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>
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!