我正在使用Python编写一个文件,我希望它被放置在一个特定的路径上。
也就是说:我如何检查文件夹是否存在,与其父母一起?如果路线上缺少文件夹,我如何创建它们?
我正在使用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...