我正在使用Python编写一个文件,我希望它被放置在一个特定的路径上。

也就是说:我如何检查文件夹是否存在,与其父母一起?如果路线上缺少文件夹,我如何创建它们?


当前回答

使用此命令检查并创建 dir

 if not os.path.isdir(test_img_dir):
     os.mkdir(test_img_dir)

其他回答

使用此命令检查并创建 dir

 if not os.path.isdir(test_img_dir):
     os.mkdir(test_img_dir)

我看到了Heikki Toivonen和A-B-B的答案,并思考了这种变异。

import os
import errno

def make_sure_path_exists(path):
    try:
        os.makedirs(path)
    except OSError as exception:
        if exception.errno != errno.EEXIST or not os.path.isdir(path):
            raise

如果你考虑下列事项:

os.path.isdir('/tmp/dirname')

这意味着一个目录(路径)存在,而且是一个目录,所以对我来说,这就是我所需要的,所以我可以确保它是文件夹(不是文件)并且存在。

我使用os.path.exists(),这里是一个Python 3脚本可以用来检查是否有一个目录,创建一个如果它不存在,并删除它如果它存在(如果需要)。

它鼓励用户输入目录,并且可以轻松修改。

从 Python 3.5 开始, pathlib.Path.mkdir 有一个 exist_ok 旗帜:

from pathlib import Path
path = Path('/my/directory/filename.txt')
path.parent.mkdir(parents=True, exist_ok=True) 
# path.parent ~ os.path.dirname(path)

此可重复创建目录,如果目录已经存在,则不会产生例外。

(就像 os.makedirs 得到 exist_ok 旗帜从 python 3.2 e.g os.makedirs(路径, exist_ok=True))


注意:当我发表这个答案时,没有其他提到的答案存在_OK...