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